在我的Hibernate JPA示例代码中。
public List<AttendeesVO> addAttendees(String searchKeyword) { TypedQuery<AttendeesVO> query = entityManager.createQuery(" select at from AttendeesVO at where at.user.firstName LIKE :searchKeyword",AttendeesVO.class); query.setParameter("searchKeyword", searchKeyword+"%"); return query.getResultList(); }
给整个字符串时它工作正常 firstName=Narasimham
firstName=Narasimham
但是,当我们赋予Narasimhamie a或n
Narasimham
a
n
其实我的想法是我给Like运算符,% %使它可以工作给定字符串的任何字符。
Like
% %
您正在使用 query.setParameter("searchKeyword", searchKeyword+"%");
query.setParameter("searchKeyword", searchKeyword+"%");
代替 query.setParameter("searchKeyword", "%"+searchKeyword+"%");
query.setParameter("searchKeyword", "%"+searchKeyword+"%");
第一个将返回Narasimham N Na Nar Nara等的行。
N
Na
Nar
Nara