曾经出现过这情况,说HQL中不期望出现%所以我一般都用QBC进行查询,你的第二种方法也可以
貌似少了2个引号这样试试:String cond="淡水珍珠";hql="from Productioninfo as p1 where p1.production.sortson.sortSonName like '%"+cond+"%'";