2012-02-09 49 views
0

我有一個模型A,它有一個多對多的B,它有一個屬性c。如下所示。Hibernate查詢多對多字段的地方

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

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

有(使用分離的標準)做這樣的查詢方式:選擇全部作爲地方存在在BS A b,其中b.c =一定的價值?如果我能如何做到這一點?

回答

1

我研究多一些,我發現了一個辦法做到這一點。對於那些感興趣的人:

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

我想這應該做的伎倆:

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

+0

是的,它似乎可以像那樣工作。但有沒有辦法用DetachedCriterias做到這一點? – Razvi 2012-02-09 20:01:00