所以我在休眠中有一个 ObjectA 的列表。ObjectA 包含 ObjectB 的列表。
我想为给定的 ObjectB.year 显示 ObjectA.title 和 ObjectB.rank。
我现在要做的是遍历第一个列表(ObjectA)并获得标题。然后我迭代第二个列表(ObjectB)以获得指定年份的正确排名。
因为这两个列表都可能很大,所以这需要一段时间。有什么方法可以加快获取速度,让休眠只从第二个列表中获取一行,而不是遍历每个列表并检查年份?
如果您有从 ObjectB 到 ObjectA 的双向关系,则可以。请参阅http://docs.jboss.org/hibernate/orm/3.5/reference/en/html/collections.html#collections-bidirectional
然后你可以做一个HQL:
select b.rank, a.title from ObjectB b join b.a a where b.year=... and a.id=...