3

フィルター オブジェクトのリストがあります: FilterVO

パブリック クラス FilterVO {

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

}

フィルター オブジェクトとコンテンツのサイズは、エンド ユーザーが UI を介して選択します。

このフィルター オブジェクトに基づいてデータベースにクエリを実行する必要があります。

例:

 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の組み合わせのコード例を教えてください。

4

0 に答える 0