0
我有两个实体: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();
,但他们没有工作,列表是空的。有没有一个好的解决方案?
Restrictions.in()是析取几乎相同。这将给我所有的文件有标签1或标签2.我的条件是1 && 2。 – zzyclark