【发布时间】:2018-09-19 17:43:19
【问题描述】:
我有一个名为 andOrButtonFilter 的字符串数组,它存储用户选择的 and or 过滤器。
还有两个名为column 和value 的ArrayList 分别存储列名及其值。
我希望当前查询附加到上一个查询并显示结果 但是我的查询没有附加到上一个查询中,它显示的是单独的结果。
例如:
如果name=xyz 是第一个查询并且
age=26 是第二个查询name=xyz 和 age=26 不会产生结果。仅在第二次执行时显示age=26 的结果。
我哪里错了?
这是我目前正在使用的代码:
for (int i=0; i<andOrButtonFilter.length; i++)
{
if(andOrButtonFilter[i]=="and")
{
Conjunction conjunction =Restrictions.conjunction();
if ((column.get(i) != null) && (value.get(i)!=null))
{
conjunction.add(Restrictions.or(Restrictions.eq(column.get(i), value.get(i))));
criteriaQuery.add(conjunction);
}
}
else if(andOrButtonFilter[i]=="or")
{
Disjunction disjunction =Restrictions.disjunction();
if ((column.get(i) != null) && (value.get(i)!=null))
{
disjunction.add(Restrictions.or(Restrictions.eq(column.get(i), value.get(i))));
criteriaQuery.add(disjunction);
}
}
else
{
criteriaQuery.add(Restrictions.eq(column.get(i), value.get(i)));
}
}
【问题讨论】:
标签: java hibernate criteria hibernate-criteria restrictions