hibernate查询问题

时间:2011-03-11 21:11:11

标签: hibernate

我遇到了Hibernate查询问题,基本上就是这样......

我有一个User对象,它有一组关联的Class对象。类对象具有startDate(java.util.Date)。

在我的UI中,User只显示startDate,它是最早的类的startDate。

如何构建一个Hibernate查询,该查询将返回一个开始日期在一定范围内的用户列表?

最初我觉得它会像......

"from User u where :beginRange < u.startDate < :endRange"

...但问题是u.startDate没有保留在数据库中,它是动态确定的仅用于演示。

非常感谢任何正确方向的帮助或指示!

谢谢, 抢劫

2 个答案:

答案 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, ...