Hibernate 2章 Hibernate を使ってみよう
- 2.1. Hibernate とは
- 2.2. データベーススキーマの準備
- 2.3. Hibernate 設定ファイルの準備
- 2.4. マッピングファイルの準備
- 2.5. 永続化クラスの準備
- 2.6. Dao の準備
- 2.7. データの投入
- 2.8. まとめ
2.3 Hibernate 設定ファイルの準備
Hibernate の設定ファイルを記述します。Hibernate の設定ファイルは、Hibernate がデータベースに 接続するための設定や、マッピングファイルの場所をHibernate に教えるための設定を行います。
設定ファイルはXML形式で記述します。
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">
org.postgresql.Driver</property>
<property name="hibernate.connection.url">
jdbc:postgresql://localhost:5432/hibernate_master</property>
<property name="hibernate.connection.username">postgres</property>
<property name="hibernate.connection.password">postgres</property>
<property name="hibernate.connection.pool_size">3</property>
<property name="hibernate.dialect">
org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.show_sql">true</property>
<!-- Mapping files -->
<mapping resource="com/techscore/hibernate/Book.hbm.xml"/>
</session-factory>
</hibernate-configuration>
hibernate.cfg.xmlを環境に合わせて編集し、 src
フォルダ直下にコピーしてください。 変更する必要があるのは、 hibernate.connection.url,
hibernate.connection.username, hibernate.connection.password
の 3
つの項目で、その他についてはサンプルのままで問題ないでしょう。
設定ファイルで設定している内容をまとめておきます。
項目 | 値 | 備考 |
---|---|---|
hibernate.connection.dribar_class | org.postgresql.Driver | 利用する JDBC ドライバ |
hibernate.connection.url | jdbc:postgresql://localhost:5432/hibernate_master | 接続先 URL |
hibernate.connection.username | postgres | ユーザ名 |
hibernate.connection.password | ******** | パスワード |
hibernate.dialect | org.hibernate.dialect.PostgreSQLDialect | RDBMS の方言を吸収するためのクラス |
hibernate.show_sql | true | 発行したSQL文を標準出力に出力するように設定 |
mapping file | com/techscore/hibernate/Book.hbm.xml | マッピングファイルを指定。複数指定可 |
2.4 マッピングファイルの準備
次にマッピングファイルを準備します。マッピングファイルは、Hibernate のそもそもの 目的である「オブジェクトと RDB を結びつける」ための設定をするものです。 マッピングファイルも XML 形式で記述します。
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping><class name="com.techscore.hibernate.Book" table="BOOK" lazy="false">
<id name="isbn" type="string" unsaved-value="null" > <column name="ISBN" sql-type="char(17)" not-null="true"/> <generator class="assigned"/> </id>
<property name="name" /> <property name="price" />
</class> </hibernate-mapping>
1行目〜4行目は、XML 宣言と DTD に関する記述です。 マッピングに関する設定は、5行目〜14行目になります。
class
要素で、POJO と テーブルを関係付けています。
7行目〜11行目
では、テーブルのプライマリーキーとなっている ISBM
カラムについての設定を行っています。11行目〜12行目
では、
その他のカラムについての設定をしています。
src/com/techscore/hibernate/Book.hbm.xml に保存してください。