Hql "in" оператор не работает с @ElementCollection - PullRequest
4 голосов
/ 11 ноября 2011


У меня есть свойство коллекции классов с @ElementCollection и @Enumerated(EnumType.ORDINAL)
Я пытаюсь выполнить оператор in для этой коллекции, однако в сгенерированном sql я получаю это -> {non-qualified-property-ref} in (?)

Возможно, я что-то не так делаю при создании самого hql.Может быть потому, что элементы на самом деле являются значениями enum?

Спасибо, Питер

1 Ответ

1 голос
/ 22 апреля 2012

Вы должны быть в состоянии сделать это, используя выражение «in elements», согласно документации (http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html):

select mother from Cat as mother, Cat as kit
where kit in elements(foo.kittens)

Однако в Hibernate есть открытая ошибка ... она не работает, как вы могли ожидать для значений перечисления, см. https://hibernate.onjira.com/browse/HHH-5159 для обходного пути.

...