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"

となります。