次の要件があります。ユーザーが式のような自由形式の「クエリ」を送信できるAPIを公開する必要があり、true/falseを返す必要があります。例:車のオブジェクトの場合、クエリが
" (make = 'FORD' AND year IN (1990,1991)) OR type = 'SUV') ".
ただし、「make」「year」または「type」は、外部から入力されたテーブルから取得されます。
TABLE CAR_PROPERTIES (
propertyName VARCHAR2(40),
propertyValue VARCHAR2(10)
)
プロパティをロードするために最初にトラバースする他の結合テーブルがあります。
したがって、新しいプロパティ(および対応する値)がある場合は、クエリでサポートする必要があります。
今のところ、これは私がしたことです:
クラスに動的プロパティを追加する必要がない場合は、コレクションでJoSQLのようなものを使用できることを知っています。
アプリケーションがJavaToolsAPIまたはjavaassistの使用を開始したら、クラスを動的に作成することを検討しました。
クライアントは、新しいプロパティの追加やコードのデプロイを必要としないソリューションを主張しています(ただし、このAPIの「呼び出し元」は、クエリで新しいプロパティを使用するためにコードを変更する必要があります)。
新しいクラスを動的に作成するのは好きではありません。ポインタや解決策を探しています。