Hibernate:如何用连接和析取的组合来编写标准?

时间:2012-11-28 09:38:31

标签: hibernate hibernate-criteria

我有一个过滤器对象列表:FilterVO

公共类FilterVO {

public paramName;
public String criteria;
public String value;
public String relation;

}

最终用户通过UI选择过滤器对象和内容的大小:

我必须根据这个过滤器对象查询数据库:

对于Ex:

 filterVO1 = ["param1",">","value1",AND]
 filterVO2 = ["param2","<","value2",OR]
 filterVO3 = ["param3","like","%value3",AND]
 filterVO4 = ["param4","=","value5",OR]
 filterVO5 = ["param5",">","value6"]

您能否建议如何使用“AND”,“OR”的组合动态构建上述过滤器的Criteria对象。

我写了以下代码:

   if (relation.equalsIgnoreCase("OR")) 
    {
        disJunction.add(getRestriction(criteria, paramName, value));
            maincriteria.add(disJunction);
} else  if (relation.equalsIgnoreCase("AND")) 
    {
    conJunction.add(getRestriction(criteria, paramName, value));
            maincriteria.add(conJunction);
}

此代码无法正常用于AND,OR组合。它始终采取AND条件。请给出AND,OR组合的示例代码。

0 个答案:

没有答案