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