【发布时间】:2015-10-07 03:48:47
【问题描述】:
我想创建一个查询,该查询能够根据人名或人名的通配符搜索来搜索人名。
【问题讨论】:
我想创建一个查询,该查询能够根据人名或人名的通配符搜索来搜索人名。
【问题讨论】:
我其实很困惑。您说您的实体类名为 PersonEntity.java,但您的 HQL 查询是从 Operson 中选择的。
在 HQL 中,您查询的是 Java 对象而不是实际的表。无论如何,我会假设您的实体名为 Operson。这是正确的代码:
public List<Operson> searchPerson(String keyword) {
try {
String HQL = "SELECT o FROM Operson o WHERE o.opusername like :username OR o.opname like :name";
return em.createQuery(HQL)
.setParameter("username", "%" + keyword.toUpperCase() + "%")
.setParameter("name", "%" + keyword.toUpperCase() + "%")
.getResultList();
} catch(Exception e) {
e.printStackTrace();
}
}
注意:
【讨论】: