Hibernate設定ファイルその1 - hibernate.cfg.xml
2008/07/29 08:29Update
Hibernateを用いてデータベースとの接続などを行うには、設定は必要となります。
設定方法としては、プロパティファイル形式のhibernate.propertiesもしくはXMLベースのhibernate.cfg.xmlを用いることが可能です。通常はXMLフォーマットのhibernate.cfg.xmlを使いましょう。
ここでは、hibernate.cfg.xmlを用いてHibernateの設定方法について説明します。
hibernate.cfg.xmlのよくある定義例:
hibernate.cfg.xml<?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> <!-- データベースの接続・設定 --> <!-- org.hibernate.dialect.MySQLDialect --> <!-- JDBCドライバー(ここではMySQLのcom.mysql.jdbc.Driverを用いる) --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- DB接続URL(適当修正してください) --> <property name="connection.url">jdbc:mysql://localhost/myproj</property> <property name="connection.username">myproj</property> <property name="connection.password">myproj</property> <!-- HibernateのDialect(方言)設定(ここではMySQLのDialectを用いる) --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- configuration pool via c3p0--> <!-- コネクション・プールの設定例(c3p0) <property name="c3p0.acquire_increment">1</property> <property name="c3p0.idle_test_period">100</property> <property name="c3p0.max_size">100</property> <property name="c3p0.max_statements">0</property> <property name="c3p0.min_size">10</property> <property name="c3p0.timeout">100</property> --> <!-- キャッシュの設定例(EhCacheProvider) <property name="hibernate.cache.use_query_cache">true</property> <property name="hibernate.cache.provider_class"> org.hibernate.cache.EhCacheProvider </property> --> <!-- 実際に実行されたSQL文を表示するかどうかの設定。デバッグ時特に有用 --> <property name="show_sql">false</property> <!-- OUTER JOINを使うかどうか --> <property name="use_outer_join">true</property> <!-- マッピングファイル&クエリの定義ファイル --> <mapping resource="TableName01.hbm.xml"/> <mapping resource="TableName02.hbm.xml"/> <!-- クエリを単独のファイルで定義する場合、その定義ファイルを追加しましょう --> <mapping resource="Query.hbm.xml"/> <!-- usage: read-only read-write nonstrict-read-write transaction --> <!-- cache --> <!-- テーブルごとのキャッシュ設定 <class-cache class="xxx.yyy.entity.Table01" usage="nonstrict-read-write"/> <class-cache class="xxx.yyy.entity.Table02" usage="read-only"/> --> <!-- <collection-cache collection="xxx.yyy.entity.Table01.zzzSet" usage="read-write"/> --> </session-factory> </hibernate-configuration>
※説明はソースの中に書いておりますので、参考になってください。
また、ファイルhibernate.cfg.xmlをクラスパスのルートに置くようにしてください。Hibernate のSessionFactoryのインスタンスを初期化する際、デフォルト(パラメータ未指定の場合)では、クラスパスのルートで hibernate.cfg.xml というファイルを自動的に探します。もちろん、SessionFactoryのインスタンスの初期化の時、hibernate.cfg.xmlのパスを指定することもできます。
詳細はDTDをご参考ください。
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
Sponsored Link
- Relative Articles
- Hibernate c3p0 - よく利用されているコネクションプーリング - (2008/07/09 15:00)
- Hibernate 方言(Dialect)一覧 - (2008/07/09 15:10)
- Hibernate のSessionとSessionFactory - (2008/07/09 15:51)
- ThreadLocal でHibernate Session を効率的に管理する - (2008/07/09 18:43)
- Hibernateで複数のDBに接続するには? - (2008/07/09 18:47)
- Hibernateとは - (2008/07/11 14:23)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernate の開発手順 - (2008/07/24 12:44)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)
- Hibernate究明 - サンプルから学ぶHibernate Proxy - (2008/07/30 19:07)