「問合せ」タブ

適切なSQL機能のタブをクリックし、ディスクリプタに対するアクションを制御する独自のSQL文字列を入力します。次の内容を参照して、タブに入力します。

タブ | 説明
--- | ---
挿入 | 新規のオブジェクトのデータをデータベースに挿入するためにTopLinkで使用される挿入SQLを定義します。

更新

データベース内の変更された既存オブジェクトの更新にTopLinkで使用される更新SQLを定義します。

ディスクリプタの更新の問合せを定義する場合は、次の指示に従う必要があります。

- アプリケーションでオプティミスティック・ロックを使用している場合に、オブジェクトの読取り後にバージョン・フィールドが変更された場合、行が書き込まれないようにする必要があります。

- 行が書き込まれる場合は、更新の問合せによってバージョン・フィールドを増分する必要があります。

- 更新文字列は、データベースの行カウントを維持する必要があります。

削除 | オブジェクトを削除するためにTopLinkで使用される削除SQLを定義します。
オブジェクトの読取り | 選択基準がオブジェクトの主キーに基づく`ReadObjectQuery`で、TopLinkに使用される読取りSQLを定義します。 ディスクリプタのオブジェクト読取りの問合せを定義すると、選択基準がオブジェクトの主キーに基づく任意の`ReadObjectQuery`が実装によってオーバーライドされます。他のすべての`Session` `readObject`メソッド・シグネチャに対しては動的なSQLが生成されます。 その他の`Session` `readObject`メソッド・シグネチャをカスタマイズするには、さらに名前付き問合せを定義し、`Session`メソッドのかわりにアプリケーションで使用します。

すべて読取り

ディスクリプタに示されている`java.lang.Class`を渡す、`Session`の`readAllObjects(java.lang.Class)`メソッドをコールする際にTopLinkで使用されるすべての読取りSQLを定義します。

ディスクリプタのすべて読取りの問合せを定義すると、実装によって`Session`の`readAll(java.lang.Class)`メソッドのみがオーバーライドされます。`Class`と`Expression`を使用するバージョンはオーバーライドされません。その結果、問合せはすべてのインスタンスを読み取ります。他のすべての`Session` `readAll`メソッド・シグネチャに対しては動的なSQLが生成されます。

その他の`Session` `readAll`メソッド・シグネチャをカスタマイズするには、さらに名前付き問合せを定義し、Sessionメソッドのかわりにアプリケーションで使用します。

関連項目

  基本的な永続性操作のカスタムSQL問合せの構成