I have a model A that has a many to many with B, which has a property c. Like the following.

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

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

Is there a way (using detached criteria) to do a query like this: select all As where there exists a b in bs where b.c = some value? And if I can how would I do this?

有帮助吗?

解决方案 2

I research some more and I found a way to do it. For those interested:

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

其他提示

I think this should do the trick:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top