Код: Выделить всё
jakarta.platform
jakarta.jakartaee-api
11.0.0-M4
provided
Код: Выделить всё
...
predicates = new Predicate[] {
...
criteriaBuilder.in(root.get("zone").in(zoneList))
...
}
criteriaQuery.where(predicates);
Сгенерированная часть SQL для предложения «IN» содержит IN (NULL) , поэтому в базе данных не найдено ни одной строки.
Код: Выделить всё
AND (
(
t0.zone IN (?, ?)
) IN (NULL)
)
Вот полный код Java
Код: Выделить всё
public List report() {
EntityManager em = getEntityManager();
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery criteriaQuery = cb.createQuery(DBEntity.class);
Root root = criteriaQuery.from(DBEntity.class);
Predicate[] predicates = new Predicate[] {
cb.in(root.get("zone").in(Arrays.asList("Zone 1")))
};
criteriaQuery.where(predicates);
criteriaQuery.select(root);
TypedQuery query = em.createQuery(criteriaQuery);
return query.getResultList();
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... or-a-predi