У меня очень большой код.Я столкнулся с проблемой, когда при самом запуске кода null вставляется в arraylist custlist
, то есть custlist выглядит как [null].И после многих строк кода у меня были изменения кода, когда я собирал Predicate, используя custlist
, как показано ниже:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Customer> q = cb.createQuery(Customer.class);
Root<Customer> root = q.from(Customer.class);
q.select(root);
if (!CollectionUtils.isEmpty(custlist)){
Predicate predicate1 =root.get("custid").in(custlist);
}
q.where(predicate1);
TypedQuery<Customer> tq = em.createQuery(q);
List<Customer> allcust= tq.getResultList();
Итак, первая проверка прошла с (custlist != null && !custlist.isEmpty())
, и предикат был создан,Это дало мне ошибку при выполнении окончательного запроса. Мой вопрос - есть ли в любом случае, с помощью которого я могу убедиться, что предикат создается только тогда, когда custlist не имеет нулевых значений.Я спрашиваю: точно так же, как Collectionutils.isEmpty () выполняет проверку на пустоту и пустоту одновременно, если кто-то может помочь мне с некоторым API, который также может проверять null inside arraylist
.