次の章では、それぞれの要素について詳しく説明していきます。ステートメントからです。頻繁に使われる要素のひとつです。データを取り出すことができてはじめてデータベースにデータを追加する意味があるので、ほとんどのアプリケーションではデータを変更するよりも検索する回数の方が多くなります。大原則の一つであり、クエリ発行と結果のマッピングに注力している理由でもあります。要素は非常に簡単です。1つ例を挙げましょう。パラメーターは次のように記述されています。パラメーターを作成します。使えばそうしたコードは書かずに済みます。パラメーターと結果のマッピングについては他にも知っておくべきことが数多くあります。これらについては、後ほどそれぞれに独立した章を用意して説明します。要素には多くの属性があります。このネームスペース内で固有な識別子。ステートメントを参照する際に使用します。このステートメントに渡される引数の型。完全修飾クラス名またはエイリアス。実際の引数に応じて自動的に導出されるため、この属性は省略可能です。参照する非推奨の方法。属性を使用してください。このステートメントから返されるオブジェクトの型。完全修飾クラス名またはエイリアス。ステートメントがコレクションを返す場合は、コレクションの型ではなくコレクションに含まれるオブジェクトの型を指定する必要があります。どちらか一方のみ指定可能です。中でも最も強力な機能で、深く理解すれば複雑なマッピングが必要となる様々なケースに対応することができます。どちらか一方のみ指定可能です。指定した場合、ステートメント実行時にローカルキャッシュおよび2次キャッシュがフラッシュ(=クリア)されます。指定した場合、ステートメントの結果が2次キャッシュに保存されます。ドライバーがデータベースからの応答が戻らない場合に、ドライバーが例外を投げるまでの最大待機時間(単位:秒)を設定します。デフォルトは未設定(ドライバー依存)です。ドライバーが結果を返す際に内部的に使用するキャッシュのサイズを指定します(ドライバーに対するヒントです)。デフォルトは未指定(ドライバー依存)です。