アノテーション付きメソッドを使用して、pureQuery でメモリー内 Java コレクションを照会できます。
メモリー内 Java コレクションを照会するアノテーション付きメソッドを使用するには、以下のステップに従います。
- メモリー内 Java コレクションの照会時に使用するメソッドを定義するインターフェースを作成します。
各メソッドの SELECT ステートメントを含む @Select アノテーションを使用する必要があります。
- このインターフェースのインプリメンテーション・クラスを生成します。
- アプリケーションでは、インプリメンテーション・クラスのインスタンスを作成する際に、Connection または DataSource オブジェクトをコンストラクターに渡さないでください。
例えば、データベースに対して実行するメソッドを定義する CustomerQuery というインターフェースと、メモリー内 Java コレクションに対して実行するメソッドを定義する RegionReport というインターフェースがあるとします。
アプリケーションでは、これらのインターフェースのインプリメンテーションのインスタンスを作成するために、以下のものに似たコードを使用できます。
Connection con = DriverManager.getConnection(...); 1
CustomerQuery cQuery =
DataFactory.getData( CustomerQuery.class, con ); 2
RegionReport inMem =
DataFactory.getData( RegionReport.class ); 3
このコードは、以下のステップを実行します。
- データベースへの接続を作成します。
- CustomerQuery インターフェースのインプリメンテーションのインスタンスを作成します。
接続オブジェクトはコンストラクターに渡されるので、データベースに対する SQL の実行のインプリメンテーションでこのメソッドを使用できます。
- RegionReport インターフェースのインプリメンテーションのインスタンスを作成します。
コンストラクターに渡される Connection または DataSource オブジェクトはないので、メモリー内 Java コレクションの照会に対してのみ、このインプリメンテーションのメソッドを使用できます。
インプリメンテーションはスレッド・セーフではありません。
これはそれを作成したスレッドでのみ使用してください。