hibernate模糊查询的疑惑

来源:百度知道 编辑:UC知道 时间:2024/06/20 03:56:26
在做hibernate模糊查询时,大致代码如下:String hql="from Productioninfo as p1 where p1.production.sortson.sortSonName like '%淡水珍珠%'";
Query q = getSession().createQuery(hql) ;
List l = q.list() ;
可结果l.size()为0;

但改为String hql="from Productioninfo as p1 where p1.production.sortson.sortSonName like ?";
String cond="淡水珍珠";
Query q = getSession().createQuery(hql) ;
q.setString(0,"%"+cond+"%");
却没问题。

真不知问题出在哪里,不知有没有谁也出现过类似情况!

曾经出现过这情况,说HQL中不期望出现%

所以我一般都用QBC进行查询,你的第二种方法也可以

貌似少了2个引号

这样试试:
String cond="淡水珍珠";
hql="from Productioninfo as p1 where p1.production.sortson.sortSonName like '%"+cond+"%'";