【问题标题】:Is calling elements(?) on a selected set possible?是否可以在选定的集合上调用元素(?)?
【发布时间】:2011-11-19 15:13:09
【问题描述】:

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

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

class BEnt {
    //....
 }

我想选择这样的 BEnts,它们的 AEnts 的名称就像“somthing”。我现在的查询是这样的:

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

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

【问题讨论】:

    标签: hibernate join hql


    【解决方案1】:

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

    from BEnt b where b.a.name like :name
    

    【讨论】:

      猜你喜欢
      • 2018-10-02
      • 2018-08-03
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 2011-03-04
      • 2012-11-19
      相关资源
      最近更新 更多