Hibernate查询多对多字段的位置

时间:2012-02-09 19:50:33

标签: hibernate many-to-many detachedcriteria

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

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

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

有没有办法(使用分离标准)来执行这样的查询:select all如果bs中存在b,其中b.c =某个值?如果我可以怎么做呢?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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