日期:2014-05-20  浏览次数:20774 次

getHibernateTemplate.find(hql)
在一个ssh demo 中 业务逻辑层 中 写的 String hql = "from Account user where user.employeeName = '"+object.getEmployeeName()+"'";

调用dao层的 search() 

super.getHibernateTemplate().find(hql) 居然没有查询出结果, 我用sql 测试过了 数据是确实存在的, 而hql语句经过 System 输出到 console 也没有问

题 看看DAO层的hql语句 : from Account user where user.employeeName = '刘总'

郁闷这个super.getHibernateTemplate().find(hql) 哪里出了问题

看了上面的import org.springframework.orm.hibernate3.support.HibernateDaoSupport  

这个包也没问题的



------解决方案--------------------
String hql = "from Account user where user.employeeName = '"+object.getEmployeeName()+"'";
这样写是错误的
getHibernateTemplate.find("from Account user where user.employeeName =?",object.getEmployeeName());
这样就可以了
------解决方案--------------------
LZ这样写试试:
getHibernateTemplate.find("from Account user where user.employeeName =?",object.getEmployeeName());
------解决方案--------------------
楼层太多,没都看完.object.getEmployeeName()应该是得到String类型吧`LZ把=改成like试试.

getHibernateTemplate.find("from Account user where user.employeeName like ?",object.getEmployeeName());