所以我在hibernate中有一个ObjectA列表。 ObjectA包含ObjectB列表。
我想为给定的ObjectB.year显示ObjectA.title和ObjectB.rank。
我现在做的是,我迭代第一个列表(ObjectA)并获得标题。然后我迭代第二个列表(ObjectB)以获得指定年份的正确排名。
因为两个列表都很大,所以需要一段时间。有没有办法加快提取速度,让hibernate只从第二个列表中获取一行而不是通过每一行并检查年份?
答案 0 :(得分:1)
如果你有从Object回到ObjectS的双向关系,你可以。 见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=...