在我的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时,它工作正常

但是当我们输入Narasimham的任何字符(即an)时,它不起作用

实际上我的想法是我给Like运算符加上% %,以便它可以处理给定String的任何字符。

最佳答案

您正在使用query.setParameter("searchKeyword", searchKeyword+"%");
代替query.setParameter("searchKeyword", "%"+searchKeyword+"%");
第一个将返回Narasimham N Na Nar Nara等的行。

09-25 21:05