Hibernate定義ファイルについて

Netbeansを利用するとこのファイルの記述は自動化されます。最初から手書きはあまり奨励しませんが、Netbeansの自動生成が怪しい時があるので、確認したほうがいいです。

DTDのURIの記載の際には、バージョンに気をつけてください。バージョンが違うと、Hibernateの起動が異常に遅くなります。

<?xml version="1.0" ?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<hibernate-configuration>
 <session-factory>
 <!-- JDBC Driver connection -->
 <property name="connection.driver_class">利用するJDBCクラスの指定</property>
 <property name="connection.url">データベースのURl</property>
 <property name="connection.username">データベースアカウント</property>
 <property name="connection.password">パスワード</property>
 <property name="dialect">net.sf.hibernate.dialect.各DBのdialect</property>
<property name="hibernate.current_session_context_class">thread</property>
 <property name="show_sql">true</property>  ←発行したSQL文を標準出力にアウトプットするかどうか
 <property name="use_outer_join">true</property> ←リレーションが指定されたオブジェクトの階層をたどってデータを取得
 <!-- Mapping files -->
<mapping resource="マッピング定義ファイル"/>アノテーションを利用しない(マッピングファイルを使用する)ときは
<mapping class="マッピングクラス"/>←アノテーションを利用する(マッピングファイルを使用しない)ときの書き方
</session-factory>
</hibernate-configuration>

mappingタグの書き方

  • 上に書いてあるように、マッピング定義ファイルを利用する・しない(アノテーションを利用する・しない)でマッピングの指定の仕方が違いますので気をつけて下さい。
  • アノテーションを利用する際は、定義ファイルがいらないことに注目してください
  • 必要なクラスだけマッピングさせましょう。


"PostgreSQL"を利用する場合

JDBCクラス ・・・ "org.postgresql.Driver"

DBのdialect ・・・ "org.hibernate.dialect.PostgreSQLDialect"

  となります。
Comments