关于多对多标准的问题是关于stackoverflow现有问题的后续问题。Criteria for many- to-many
在引用的问题中,检索FOO实体的标签名称,但我有一种情况,我需要一个FOO对象,它有两个与之关联的标签。 例如,我需要获得具有两者的FOO对象 Tag1 =休眠 Tag2 =春天。 有关如何做到这一点的任何建议? 感谢
答案 0 :(得分:0)
一系列限制linked with or is called a disjunction
。一系列限制linked with and is called a conjunction
。
在Hibernate中,Criteria Conjunction
作为逻辑AND
运算符。 conj()将表达式分组为单个表达式。如果满足所有条件,则返回true,否则为false。
所以这就是:
Criteria criteria = session.createCriteria(Foo.class);
criteria.createAlias("tags", "tagsAlias");
Conjunction conjunction = Restrictions.conjunction();
conjunction.add(Restrictions.like("tagsAlias.name", "str1"));
conjunction.add(Restrictions.like("tagsAlias.name", "str2"));
criteria.add(conjunction);
List<Foo> companies = criteria.list();