外键列表的Hibernate标准

时间:2015-10-08 06:35:41

标签: java hibernate

我有两个实体:

public class Document implements java.io.Serializable {
    private Long id;
    private String info;
    private Set<Tag> tags = new HashSet<Tag>(0);
}

public class Tag implements java.io.Serializable {
    private Long id;
    private String name;
    private Set<Document> documents = new HashSet<Document>(0);
}

文档可能包含多个标记,每个标记可以包含多个项目。 现在我想做一个过滤功能,找出同时包含tag1(id = 1)tag2(id = 2)的所有文档。

我试图使用这些限制:

Criteria criteria = session.createCriteria(Document.class, "doc")
                           .createAlias("doc.tags", "tag");

List<Document> docList = criteria.add(Restrictions.eq("tag.id", 1))
                                 .add((Restrictions.eq("tag.id", 2)).list();

但他们没有工作,列表是空的。有一个很好的解决方案吗?

0 个答案:

没有答案