第3章 設定
Hibernate はさまざまな環境で動作するように設計されているため、 多くの設定パラメータが存在します。 ほとんどの設定パラメータは妥当なデフォルト値を持ち、 Hibernate の
etc/ には、 さまざまなオプションを表示するサンプルの hibernate.properties ファイルがあります。 このサンプルファイルをクラスパス上に置き、 必要に応じてカスタマイズします。
3.1. プログラムによる設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
org.hibernate.cfg.Configuration のインスタンスは、 アプリケーションの Java 型から SQL データベースへのマッピングをすべて表します。 org.hibernate.cfg.Configuration は不変の org.hibernate.SessionFactory をビルドするために使用されます。 マッピングは複数の XML マッピングファイルよりコンパイルされます。
org.hibernate.cfg.Configuration インスタンスを取得するには、 直接インスタンス化し、 XML マッピングドキュメントを指定します。 マッピングファイルがクラスパスにある場合は、 addResource() を使用します。 例は次の通りです。
Configuration cfg = new Configuration()
.addResource("Item.hbm.xml")
.addResource("Bid.hbm.xml");
Configuration cfg = new Configuration()
.addResource("Item.hbm.xml")
.addResource("Bid.hbm.xml");
マップされたクラスを指定し、 Hibernate にマッピングドキュメントを検索させる方法もあります。
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class);
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class);
Hibernate は、 クラスパスにある
/org/hibernate/auction/Item.hbm.xml と /org/hibernate/auction/Bid.hbm.xml というマッピングファイルを検索します。 この方法により 、ハードコードされたファイル名を取り除きます。
また、
org.hibernate.cfg.Configuration は設定プロパティを設定できるようにします。 例は次の通りです。
Hibernate に設定プロパティを渡す方法はこれだけではありません。 他にも次のような方法があります。
java.util.PropertiesのインスタンスをConfiguration.setProperties()に渡します。- クラスパスのルートディレクトリに
hibernate.propertiesという名前のファイルを置きます。 java -Dproperty=valueを使用してSystemプロパティを設定します。hibernate.cfg.xmlに<property>要素を追加します (これについては後ほど説明します)。
すぐに開始したい場合は
hibernate.properties が最も簡単な方法になります。
org.hibernate.cfg.Configuration は SessionFactory の作成後に破棄される起動時のオブジェクトとなります。