是否可以在所选集上调用元素(?)?

时间:2011-09-18 10:57:12

标签: hibernate join hql

我有两个实体,他们有多对多的关系。例如。 AEnt和BEnt:

class AEnt {
    //....
    String name;
    Set<BEnt> bs;
 }

class BEnt {
    //....
 }

我想选择这样的人,他们的AE的名字就像“somthing”。我的查询现在是这样的:

from BEnt b where b in 
     (select elements(a.bs) from AEnt a where a.name like :name)

但问题是Hibernate首先调用所有AEnts-BEnts上的元素,实际上忽略了我的“喜欢”过滤器。因为我有数百万个AEnt-BEnt关系,所以查询没有响应。有没有办法只在所选的AE组上调用元素?或者更好的查询?
谢谢。

1 个答案:

答案 0 :(得分:0)

我假设您在AEnt中引用BEnt - 即多对一,因为您在AEnt和{{1}之间存在一对一的关系}}。试试这个:

BEnt