我需要使用AND/OR运算符来休眠分离的条件查询.我想模拟SQL等效于:
Select * from myTable where city in ( X, Y ) OR city in (A,B);
Run Code Online (Sandbox Code Playgroud)
//注意我需要在这里使用多个'In'
如何创建citeria查询以使用'OR'运算符.
就像是
DetachedCriteria criteria = DetachedCriteria.forClass(
myClass.class)
.add(Property.forName("city").in(X,Y));
criteria.**Or**(add(Property.forName("city").in(X,Y));
Run Code Online (Sandbox Code Playgroud)
不幸的是,标准中没有OR方法,只在那里添加.
提前致谢
Gai*_*aim 11
使用Restrictions.conjunction()和Restrictions.disjunction()创建条件层次结构.
编辑:
我想你的代码Property.forName("city").in(X,Y))是正确的(我不记得这个clausule)
DetachedCriteria criteria = DetachedCriteria.forClass(
myClass.class)
.add(Restrictions.disjunction()
.add( Property.forName("city").in(X,Y) )
.add(Property.forName("city").in(X,Y) )
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29430 次 |
| 最近记录: |