我想创建一个查询,可以根据人名或人名的通配符搜索来搜索人名。
答案 0 :(得分:1)
我其实很困惑。你说实体类名为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();
}
}
注意: