楼上的写错了,呵呵 public List getUserByLikeName(final String name) { return (List)this.getHibernateTemplate().execute( new HibernateCallback(){ public Object doInHibernate(Session session)throws HibernateException,SQLException{ return session .createQuery("from User u where u.name like :name") .setString("name","%"+name+"%") .list(); } }); }
return session .createQuery("from User u where u.name like '%om%'") 或 return session .createQuery("from User u where u.name like :name") query.setString("name","%"+om+"%");注:hql 的 User一定是类名//=========好呢给分========
public List getUserByLikeName(final String name) {
return (List)this.getHibernateTemplate().execute(
new HibernateCallback(){
public Object doInHibernate(Session session)throws HibernateException,SQLException{
return session
.createQuery("from User u where u.name like :name")
.setString("name","%"+name+"%")
.list();
}
});
}
其实你光是写查询的话就别在回调函数里写了.因为如果是多条件查询的话你是要拼SQL语句的.
这时候用Example查询最方便.
.createQuery("from User u where u.name like '%om%'")
或
return session
.createQuery("from User u where u.name like :name")
query.setString("name","%"+om+"%");注:hql 的 User一定是类名//=========好呢给分========