我有两个实体,他们有多对多的关系。例如。 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组上调用元素?或者更好的查询?
谢谢。
答案 0 :(得分:0)
我假设您在AEnt
中引用BEnt
- 即多对一,因为您在AEnt
和{{1}之间存在一对一的关系}}。试试这个:
BEnt