Red Hat Training
A Red Hat training course is available for Red Hat JBoss Web Server
4.7. XML 設定ファイル
もう1つの方法は
hibernate.cfg.xml
という名前のファイルで十分な設定を指定する方法です。このファイルは hibernate.properties
ファイルの代わりとなります。もし両方のファイルがあれば、プロパティが置き換えられます。
XML 設定ファイルはデフォルトでは
CLASSPATH
のルートにあることが前提となります。 例は次の通りです。
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <!-- a SessionFactory instance listed as /jndi/name --> <session-factory name="java:hibernate/SessionFactory"> <!-- properties --> <property name="connection.datasource">java:/comp/env/jdbc/MyDB</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="show_sql">false</property> <property name="transaction.factory_class"> org.hibernate.transaction.JTATransactionFactory </property> <property name="jta.UserTransaction">java:comp/UserTransaction</property> <!-- mapping files --> <mapping resource="org/hibernate/auction/Item.hbm.xml"/> <mapping resource="org/hibernate/auction/Bid.hbm.xml"/> <!-- cache settings --> <class-cache class="org.hibernate.auction.Item" usage="read-write"/> <class-cache class="org.hibernate.auction.Bid" usage="read-only"/> <collection-cache collection="org.hibernate.auction.Item.bids" usage="read-write"/> </session-factory> </hibernate-configuration>
設定へのマッピングファイル名を外部化することがこの方法の利点となります。 Hibernate キャッシュの調整後は
hibernate.cfg.xml
もより便利になります。 hibernate.properties
か hibernate.cfg.xml
の使用を選択可能です。 前述の XML 構文を使用する利点以外は両者は同等となります。
XML 設定を使用すると、 Hibernate の起動は次の通り簡単です。
SessionFactory sf = new Configuration().configure().buildSessionFactory();
次を使用して異なる XML 設定を選択することもできます。
SessionFactory sf = new Configuration() .configure("catdb.cfg.xml") .buildSessionFactory();