Я пытаюсь понять мою ошибку в HQL-запросе:
public List<Pats> getIds(List<String> patIds) {
Session session = getSession();
String hql = "from OurPats where patId = any (:patIds)";
// String hql = "from OurPats where patId in (:patIds)";
return session.createQuery(hql).setParameterList("patIds", patIds).list();
}
... закомментированная строка работает правильно, но я хочу, чтобы функциональность не-работающее ЛЮБОЕ сравнение, поскольку patIds.size () может быть больше, чем 2 ^ 15 (вызывая разрыв postgresql).
Судя по http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html, ЛЮБАЯ функция должна работать.В других вопросах форума люди говорят, что не следует использовать функцию элементов, как указано в приведенной выше ссылке (я пробовал с элементами, и я получаю ошибку IDENT).Приведенный выше код создает org.hibernate.hql.ast.QuerySyntaxException: неожиданный токен:: ошибка.
Есть идеи?Спасибо за помощь.