1. Unable to locate appropriate constructor on class ....
在类似 "select new UserVO(u.id, u.name) from User u where u.id>100"
这个时候要求UserVO必须有和(id, name)类型匹配的构造函数。
2. Like的模糊匹配:
- public List<User>findUsersByName(String userName){
- String hql = "Select * from User u where u.name like ?"
- List<User>result = getHibernateTemplate().excuteQuery(hql, "%" + userName +"%");
- return result;
- }
注意, like模糊匹配的时候,"%"是作为参数传入而不是直接拼在HQL中的。
3. 嵌套查询:
HQL支持 SELCT * FROM where XX in (Select * from WHERE...)
但是HQL 不支持 SELECT * FROM (SELECT * FROM)这种查询。