本質的に実行時にカスタムの休止状態フィルターを定義する必要がありますが、それが可能かどうかはわかりません。
基本的に、ユーザーは次のスキーマで定義されたフィルターを表すオブジェクトを渡します -
<attributeGroup name="FilterAttributes">
<attribute name="Name" type="string" use="required"/>
<attribute name="Operation" type="string" use="required"/>
<attribute name="Value" type="string" use="required"/>
</attributeGroup>
<complexType name="Filter">
<attributeGroup ref="F:FilterAttributes"/>
</complexType>
<complexType name="FilterCriteria">
<sequence>
<element name="Filter" type="F:Filter" minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
<element name="FilterCriteria" type="F:FilterCriteria"/>
したがって、ユーザーがこの構造を表すオブジェクトを渡し、その場でフィルターを作成するという考え方です。フィルター処理するプロパティ/データベース列の名前、比較で使用する演算子、比較する値です。に対して。
フィルターを定義し、HBM 内または注釈を使用して値をパラメーター化できることはわかっていますが、実行時にオペレーターを変更することはできません。フィルタリングを許可する予定のすべての列に対してフィルターを定義しても問題ありませんが、ユーザーが渡す可能性のあるすべての演算子に対してフィルターを指定する必要はありません。
これを実現できるように、実行時にフィルターを作成/変更することは可能ですか?