【问题标题】:Hibernate queries where with many-to-many fields具有多对多字段的休眠查询
【发布时间】:2012-02-09 19:50:32
【问题描述】:

我有一个模型 A,它与 B 有一个多对多,它有一个属性 c。如下所示。

class A {
  @ManyToMany
  List<B> bs;
}

class B {
  @ManyToMany
  List<A> as;
  String c;
}

有没有办法(使用分离的条件)进行这样的查询:全选 As where there is a b in bs where b.c = some value?如果可以,我该怎么做?

【问题讨论】:

    标签: hibernate many-to-many detachedcriteria


    【解决方案1】:

    我认为这应该可以解决问题:

    from A a inner join a.bs b where b.c = ?

    【讨论】:

    • 是的,它似乎可以这样工作。但是有什么办法可以用 DetachedCriterias 做到这一点?
    【解决方案2】:

    我进行了更多研究,并找到了一种方法。对于那些感兴趣的人:

    DetachedCriteria.forClass(A.class)
      .addAlias("bs", "b")
      .add(Restrictions.eq("b.c", c);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      相关资源
      最近更新 更多