0

我正在研究休眠。我有一个这样的@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;
 }

我有我的会议,一切都井井有条:) 谢谢!

4

1 回答 1

0

我没有使用标准查询,但如果它是 hql 或 jpql,我会加入 B 和表达式。IE

From A a join a.b_list b where a.category = : category and a.word = :word and b.<field name> = :word

换句话说,你需要在 b_list 上加入 B 并且你可以引用它的字段。

希望这会为您指明正确的方向。

编辑:您可以使用条件查询以及使用 JPA 2Hibernate进行连接

于 2013-01-24T06:55:57.833 回答