Если я передаю пустой список в запрос JPA, я получаю сообщение об ошибке. Например:
List<Municipality> municipalities = myDao.findAll(); // returns empty list
em.createQuery("SELECT p FROM Profile p JOIN p.municipality m WHERE m IN (:municipalities)")
.setParameter("municipalities", municipalities)
.getResultList();
Поскольку список пуст, Hibernate генерирует это в SQL как "IN()", что дает мне ошибку в базе данных Hypersonic.
Есть билет для этого в отслеживание проблем с Hibernate, но там не так много комментариев/действий. Я не знаю о поддержке в других продуктах ORM или в спецификации JPA.
Мне не нравится идея вручную проверять нулевые объекты и пустые списки каждый раз. Есть ли общеизвестный подход/расширение? Как вы справляетесь с этими ситуациями?