我正在进行休眠。 我有一个这样的@Entity:
实体A:
int category; //1 2 or 3
List<B> B_list;
实体B:
String word;
现在我要做的是给出一个A和一个单词的类别,我想要返回与该类别匹配的所有A,并且在其B_list中有一个B,其单词等于参数单词。
这就是我所拥有的:
public List<A> getAs(int category,String word){
Criteria crit = session.createCriteria(A.class);
crit.add(Restrictions.eq("category",category));
crit.add(Restrictions.//something to look for B);
List<A> cats = crit.list();
return cats;
}
我有我的会议,所有的顺序:)谢谢!
答案 0 :(得分:0)
我没有使用条件查询,但如果它是hql或jpql,我只会加入B和表达式。即
From A a join a.b_list b where a.category = : category and a.word = :word and b.<field name> = :word
换句话说,你需要在b_list上加入B,你可以引用它的字段。
希望指出你正确的方向。
编辑:您也可以使用条件查询进行加入using JPA 2或Hibernate