第9章 Enterprise Web Server上の Hibernate


Hibernate はオブジェクト関係マッピングのフレームワークです。これは、別パッケージにて提供されており、すべての対応プラットフォームで同じパッケージを使うことができます。
Hibernate は通常のTomcat 設定で利用するのと同じ方法で使うことができます。つまり、Hibernate JARファイルをご利用中のデプロイメント WAR ファイルに追加できるのです。Tomcat は接続プーリングのメカニズムをデフォルトで提供しており、是非この機能を有効活用してください (プーリングメカニズムについては、context.xmlにて定義しています)。ただし、persistence.xmlweb.xml が必要です。以下の例にて、Tomcat の接続プーリングメカニズムを使った設定について示しています。
  • /META-INF/context.xml は、Tomcat が作成すべき接続プールを定義しています。

    例9.1 context.xml

    <Context>
      <Resource
        name="jdbc/DsWebAppDB"
        auth="Container"
        type="javax.sql.DataSource"
        username="sa"
        password=""
        driverClassName="org.h2.Driver"
        url="jdbc:h2:mem:target/test/db/h2/hibernate 
        maxActive="8"
        maxIdle="4"/>
    </Context>
    
    Copy to Clipboard Toggle word wrap
  • /WEB-INF/classes/META-INF/persistence.xmlはJPA設定ファイルで、Tomcat プールからの接続を消費できるようにアプリケーションが どのようにHibernate を設定するかを定義します。Hibernate API を直接利用している場合は、hibernate.cfg.xmlにてよく似た設定を使います。

    例9.2 persistence.xml

    <persistence version="1.0"
      xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    
      <persistence-unit name="dswebapp">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
          <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
          <property name="hibernate.connection.datasource" value="java:comp/env/jdbc/DsWebAppDB"/>
        </properties>
      </persistence-unit>
    </persistence>
    
    Copy to Clipboard Toggle word wrap
  • /WEB-INF/web.xmlは通常の Web アプリケーションデプロイメントファイルで、どのデータソースを消費するかTomcat に指示をだします。例9.3「web.xml」ではデータソースがjdbc/DsWebAppDBとなっています。

    例9.3 web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    
     <resource-env-ref>
      <resource-env-ref-name>jdbc/DsWebAppDB</resource-env-ref-name>
      <resource-env-ref-type>javax.sql.DataSource</resource-env-ref-type>
     </resource-env-ref>
    </web-app>
    
    Copy to Clipboard Toggle word wrap
詳細については、JBoss Enterprise Web Server向けの Hibernate 文書を参照してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat