10.2.4. 設定

10.2.4.1. Hibernate 設定プロパティー

表10.1 プロパティー

プロパティー名 説明
hibernate.dialect
Hibernate の org.hibernate.dialect.Dialect のクラス名です。特定のリレーショナルデータベースに対して最適化された SQL を Hibernate が生成できるようにします。
ほとんどの場合で、Hibernate は JDBC ドライバーより返された JDBC metadata を基にして適切な org.hibernate.dialect.Dialect 実装を選択することができます。
hibernate.show_sql
ブール変数です。SQL ステートメントをすべてコンソールに書き込みます。ログカテゴリー org.hibernate.SQLdebug に設定する代わりとなります。
hibernate.format_sql
ブール変数です。SQL をログとコンソールにプリティプリントします。
hibernate.default_schema
修飾されていないテーブル名を生成された SQL の指定のスキーマ/テーブルスペースで修飾します。
hibernate.default_catalog
修飾されていないテーブル名を生成された SQL の指定カタログで修飾します。
hibernate.session_factory_name
作成後、 org.hibernate.SessionFactory は JNDI のこの名前に自動的にバインドされます。例: jndi/composite/name
hibernate.max_fetch_depth
シングルエンドの関連 (1 対 1 や多対 1 など) に対して外部結合によるフェッチツリーの最大の「深さ」を設定します。0 を設定するとデフォルトの外部結合フェッチが無効になります。0 から 3 までの値が推奨されます。
hibernate.default_batch_fetch_size
関連付けの Hibernate 一括フェッチに対するデフォルトサイズを設定します。推奨される値は 4816 です。
hibernate.default_entity_mode
SessionFactory より開かれたすべてのセッションに対するエンティティー表現のデフォルトモードを設定します。値には dynamic-mapdom4jpojo などが含まれます。
hibernate.order_updates
ブール変数です。更新されたアイテムの主キー値によって Hibernate による SQL 更新の順番付けを強制します。これにより、高度な並列システムにおけるトランザクションデッドロックが軽減されます。
hibernate.generate_statistics
ブール変数です。有効にすると、Hibernate はパフォーマンスのチューニングに便利な統計を収集します。
hibernate.use_identifier_rollback
ブール変数です。有効にすると、オブジェクトが削除された時に生成された識別子プロパティーがデフォルト値にリセットされます。
hibernate.use_sql_comments
ブール変数です。有効にすると、デバッグを簡単にするため Hibernate は SQL 内にコメントを生成します。デフォルト値は false です。
hibernate.id.new_generator_mappings
ブール変数です。@GeneratedValue を使用する場合に関係するプロパティーです。新しい IdentifierGenerator 実装が javax.persistence.GenerationType.AUTOjavax.persistence.GenerationType.TABLEjavax.persistence.GenerationType.SEQUENCE に対して使用されるかどうかを示します。後方互換性を維持するため、デフォルト値は false になっています。

重要

@GeneratedValue を使用する新しいプロジェクトは hibernate.id.new_generator_mappings=true も設定することが推奨されます。これは、新しいジェネレーターはより効率的で JPA 2 仕様のセマンティックに近いためです。
しかし、この設定は既存データベースとの後方互換性を維持しません (シーケンスやテーブルが ID 生成に使用される場合)。