Hibernateでアプリケーションサーバーからコネクションを取得するためには

2010/08/24 18:31Update
TAGS: hibernate | コレクション | DataSource | データソース | JNDI | JDBC | プール

Hibernateでアプリケーションサーバのデータソース(データベース接続プール)を利用する方法について解説します。

手順


1)アプリケーションサーバ側:Datasource を JNDI に登録します。
  ※登録方法について各アプリケーション・サーバのマニュアルをご参照ください。
  例えば、Tomcatサーバの場合、
  Tomcat5 サーブレット/JSP コンテナ - JNDIデータソースの手引き
  
  という記事をご参照ください
2)web.xmlを編集し、<resource-ref>要素を定義します。
例:
<resource-ref>
  <description>データソース定義</description>
  <res-ref-name>jdbc/MyDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref> 


※【res-ref-name】にはアプリケーションサーバ側に設定済みのデータソース名を入力します。
※【res-type】には データソースの型を入力します。

3)Hibernate側の設定
例:
<property name="connection.datasource">java:/comp/env/jdbc/MyDB</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>


参考資料


Hibernate JTATransaction - JTAトランザクション
TomcatのJNDI機能との連係(Hibernate3)
Hibernate JDBC コネクション
Hibernateトランザクション戦略設定
JNDI活用でデータソース管理を一元化する
今さら人に訊けないJNDI: 第1回 「JNDIってなんだっけ?」

有关作者
Syboos.jp編集長システム設計や開発、保守運営などを行ってます。オープンソース技術に興味があります。

Sponsored Link


Comments