我遇到了Hibernate查询问题,基本上就是这样......
我有一个User对象,它有一组关联的Class对象。类对象具有startDate(java.util.Date)。
在我的UI中,User只显示startDate,它是最早的类的startDate。
如何构建一个Hibernate查询,该查询将返回一个开始日期在一定范围内的用户列表?
最初我觉得它会像......
"from User u where :beginRange < u.startDate < :endRange"
...但问题是u.startDate没有保留在数据库中,它是动态确定的仅用于演示。
非常感谢任何正确方向的帮助或指示!
谢谢, 抢劫
答案 0 :(得分:1)
未经测试,但这样的事情应该有效:
from User u where (select min(c.startDate) from Clazz c where c.user.id = u.id) between :beginRange and :endRange
答案 1 :(得分:0)
这样的事情:
SELECT u
FROM User u JOIN u.classes c
HAVING MIN(c.startDate) BETWEEN :beginRange AND :endRange
GROUP BY u.id, ...