Hql“in”语句不适用于@ElementCollection

时间:2011-11-10 23:22:23

标签: java hibernate java-ee hql


我有一个包含@ElementCollection@Enumerated(EnumType.ORDINAL)的类集合属性 我试图在该集合上执行一个in语句但是在生成的sql中我得到了这个 - > {non-qualified-property-ref} in (?)

创建hql本身时,我可能做错了什么。可能是因为元素实际上是枚举值吗?

谢谢, 彼得

1 个答案:

答案 0 :(得分:1)

根据文档(http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html),您应该能够使用'in elements'表达式执行此操作:

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

但是,Hibernate中存在一个开放的错误...它无法像您对枚举值所期望的那样工作,请参阅:https://hibernate.onjira.com/browse/HHH-5159以获得解决方法。