在JPA标准中组合in()和like()

时间:2018-10-10 15:17:56

标签: java jpa jpa-criteria

这里是获取居民列表的方法,现在该方法将查找姓名等于参数之一的居民。如何在此处使用 like 来使所有其名称包含的居民都来自 searchParams 中的字符串之一。

public List<Resident> getList(List<String> searchParams) {
   CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
  CriteriaQuery<Resident> criteriaQuery = 
  criteriaBuilder.createQuery(Resident.class);
  Root<Resident> rootFromResident = criteriaQuery.from(Resident.class);
  rootFromResident.get("firstName").in(searchParams);
  criteriaQuery.where(firstNamePredicate);
  TypedQuery<NotifyResident> q = 
  entityManager.createQuery(criteriaQuery);
  return q.getResultList();
}

0 个答案:

没有答案