hibernate模糊查询问题,hql语句

baojunhu999 2013-07-03 02:15:04
public List<ZdryjcxxMxpz> search(String zdryxm){
Session session = hibernateTemplate.getSessionFactory().openSession();
String hql="FROM ZdryjcxxMxpz t where t.zdryxm like :zdryxm";
Query q = session.createQuery(hql);
q.setString("zdryxm","%"+zdryxm+"%");
return q.list();
}

报的错误:
java.lang.NullPointerException
at com.egf.qingbao.dzda.service.impl.ZdryjcxxServiceImpl.search(Unknown Source)
at com.egf.qingbao.dzda.service.impl.ZdryjcxxServiceImpl$$FastClassByCGLIB$$88fc492b.invoke()
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.egf.qingbao.dzda.service.impl.ZdryjcxxServiceImpl$$EnhancerByCGLIB$$e23c1301.search()
at com.egf.qingbao.dzda.web.action.ZdryjcxxAction.search(Unknown Source)
at com.egf.qingbao.dzda.web.action.ZdryjcxxAction$$FastClassByCGLIB$$fcd6f49.invoke()
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at com.egf.qingbao.dzda.web.action.ZdryjcxxAction$$EnhancerByCGLIB$$3f9d39d5.search()
...全文
346 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Session session = hibernateTemplate.getSessionFactory().openSession();
 String hql="FROM ZdryjcxxMxpz t where t.zdryxm like '%"+zdryxm+"%'";
 List<ZdryjcxxMxpz> q = session.createQuery(hql).list();
 return q;
Session session = hibernateTemplate.getSessionFactory().openSession();
 String hql="FROM ZdryjcxxMxpz t where t.zdryxm like :zdryxm";
 Query q = session.createQuery(hql);
 q.setString("zdryxm","'%"+zdryxm+"%'");
 return q.list();
你用的哪一种,再试试看
baojunhu999 2013-07-03
  • 打赏
  • 举报
回复
引用 5 楼 u010241813 的回复:
Session session = hibernateTemplate.getSessionFactory().openSession();
 String hql="FROM ZdryjcxxMxpz t where t.zdryxm like '%"+zdryxm+"%'";
 Query q = session.createQuery(hql);
 return q.list();
还是报一样的错误,java.lang.NullPointerException at com.egf.qingbao.dzda.service.impl.ZdryjcxxServiceImpl.search(Unknown Source) at com.egf.qingbao.dzda.service.impl.ZdryjcxxServiceImpl$$FastClassByCGLIB$$88fc492b.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
  • 打赏
  • 举报
回复
按你的hql语句写法,编译后的sql语句是FROM ZdryjcxxMxpz t where t.zdryxm like '%zdryxm%',是没单引号的结果吧
  • 打赏
  • 举报
回复
Session session = hibernateTemplate.getSessionFactory().openSession();
 String hql="FROM ZdryjcxxMxpz t where t.zdryxm like '%"+zdryxm+"%'";
 Query q = session.createQuery(hql);
 return q.list();
baojunhu999 2013-07-03
  • 打赏
  • 举报
回复
引用 3 楼 licip 的回复:
java.lang.NullPointerException 异常,你首先打印看看是哪一个对象为空了,然后找到为什么它为null可能是没有实例化。也可能是没有注入进来。
this.zdryxm = request.getParameter("zdryxm"); System.out.println("搜索条件是:"+zdryxm); this.zdryjcxxlist=this.zdryjcxxService.search(zdryxm); return "list"; service都注入进来了,搜索条件打印出来了,第三行代码的zdryjcxxlist是空的,后面就不执行了!
licip 2013-07-03
  • 打赏
  • 举报
回复
java.lang.NullPointerException 异常,你首先打印看看是哪一个对象为空了,然后找到为什么它为null可能是没有实例化。也可能是没有注入进来。
  • 打赏
  • 举报
回复
你用debug模式设置断点运行下看哪里为空啊

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧