-1

所以我在休眠中有一个 ObjectA 的列表。ObjectA 包含 ObjectB 的列表。

我想为给定的 ObjectB.year 显示 ObjectA.title 和 ObjectB.rank。

我现在要做的是遍历第一个列表(ObjectA)并获得标题。然后我迭代第二个列表(ObjectB)以获得指定年份的正确排名。

因为这两个列表都可能很大,所以这需要一段时间。有什么方法可以加快获取速度,让休眠只从第二个列表中获取一行,而不是遍历每个列表并检查年份?

4

1 回答 1

1

如果您有从 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=...
于 2013-09-06T15:07:12.170 回答