0
我有此查询正确转换JPQL查询(正常工作):如何使用 “%”
@Override
public List<Product> getProductsByName(String name) {
Query q = em.createQuery("SELECT p FROM Product p WHERE p.productName LIKE '%"+name+"%'");
@SuppressWarnings("unchecked")
List<Product> pro = q.getResultList();
return pro;
}
,但我想将其转换成这(与.setParameter()):
@Override
public List<Product> getProductsByName(String name) {
Query q = em.createQuery("SELECT p FROM Product p WHERE p.productName LIKE %:name %")
.setParameter("name", name);
@SuppressWarnings("unchecked")
List<Product> pro = q.getResultList();
return pro;
}
在这种情况下,我得到: java.lang.IllegalArgumentException异常:org.hibernate.hql.internal.ast.QuerySyntaxException:意外的标记:%
如何corectly使用%(我试过 '%:名字%',' %':名称'%') ?
类似的一个,是指 - http://stackoverflow.com/a/1344198/366964 – 2014-10-01 08:52:57