bla*_*sei 6 java orm hibernate java-ee
到目前为止,我一直只使用具有2个属性的案例和作为逻辑运算符,所以我使用LogicalExpression
Criterion eqRef = Restrictions.eq("referenceID", referenceId);
Criterion eqType = Restrictions.eq("verificationType", type);
LogicalExpression and = Restrictions.and(eqRef, eqType);
Run Code Online (Sandbox Code Playgroud)
这次它超过2,所以我有点困惑.这次我添加了用户名属性我可以做正常的链接
session.createCriteria(this.getPersistentClass())
.add(Restrictions.eq("referenceID", referenceId))
.add(Restrictions.eq("verificationType", type))
.add(Restrictions.eq("username", username))
.list();
Run Code Online (Sandbox Code Playgroud)
但现在我不知道他们之间使用了哪种逻辑运算符.我也很想这样做:
Criterion eqRef = Restrictions.eq("referenceID", referenceId);
Criterion eqType = Restrictions.eq("verificationType", type);
Criterion equsername = Restrictions.eq("username", username);
LogicalExpression and = Restrictions.and(eqRef, eqType);
LogicalExpression secondand = Restrictions.and(and, equsername);
Run Code Online (Sandbox Code Playgroud)
我也看到了eqAll但我以前从未使用过它.所以你对此有什么想法吗?你是怎么做到的,感谢你阅读本文.
Ste*_* B. 10
由于你是"和" - 你的所有限制,分组是无关紧要的,所以你可以像你的第二个例子一样继续,因为通过对它们进行分组没有任何好处,例如
.add(Restrictions.eq("referenceID", referenceId)).add(Restrictions.eq("verificationType", type)).add(Restrictions.eq("username", username))...
Run Code Online (Sandbox Code Playgroud)
您确实遇到了这个问题,您需要对混合的"AND"和"OR"查询进行分组,如果要对多个"OR"值进行分组,还可以将"条件"添加到" 分离"中