我有以下 HQL 查询
SELECT ob FROM objectBase ob WHERE size(ob.listSC) > 0 AND ob.listSC.registrationDate BETWEEN :startDate AND :endDate
它应该做什么:
获取数据库中的所有objectBase对象,其中listSC(实体集合)不为null且为空(不幸的是无法弄清楚如何使其也忽略 null 值)
对于listSC中的每个项目,检查特定实体在给定日期之间是否具有RegistrationDate属性。
但不幸的是它给了我
Caused by: org.hibernate.QueryException: illegal attempt to dereference collection [objectbase0_.id.listSC] with element property reference [registrationDate] at org.hibernate.hql.internal.ast.tree.DotNode$1.buildIllegalCollectionDereferenceException(DotNode.java:73)
我相信这是有充分理由的。问题是如何实施这种行为?最好不使用JOIN。
温温酱
相关分类