3.4.10. クエリ
Hibernate は EJB3 仕様で定義されたものよりも多くの名前付きクエリに関する機能を持つため、
@org.hibernate.annotations.NamedQuery
、@org.hibernate.annotations.NamedQueries
、@org.hibernate.annotations.NamedNativeQuery
、および @org.hibernate.annotations.NamedNativeQueries
が導入されました。これらは標準バージョンにいくつかの属性を追加し、代替として使用できます。
- flushMode: クエリフラッシュモードを定義します (Always、Auto、Commit、または Manual)
- cacheable: クエリをキャッシュするかどうか
- cacheRegion: クエリがキャッシュされた場合に使用されるキャッシュリージョン
- fetchSize: このクエリに対する JDBC ステートメントフェッチサイズ
- timeout: クエリタイムアウト
- callable: ネイティブクエリに対してのみ (ストアドプロシージャに対して真に設定されます)
- comment: コメントがアクティベートされた場合は、クエリがデータベースに送信されたときにコメントが表示されます。
- cacheMode: キャッシュ対話モード (get、ignore、normal、put、または refresh)
- readOnly: クエリから取得されたエレメントが読み取り専用モードであるかどうか
これらのヒントは、タイプが解除された
@QueryHint
を使用して標準的な @javax.persistence.NamedQuery
アノテーションで設定できます。別のキーの利点は、これらのアノテーションをパッケージレベルで設定できることです。