データ・アクセスと Spring Framework

Spring Bean がデータ・ソースにアクセスするためには、Spring Framework が WebSphere® Application Server のランタイムに正常に委任を行い、また、それに統合されるように、それらの Bean を構成する必要があります。

Spring Framework は、エンタープライズ・アプリケーション環境において、基礎となるエンタープライズ・アプリケーション・ランタイムに委任を行うコンテナー管理レイヤーで Spring Bean をラップします。以下のセクションでは、データ・ソースにアクセスする Spring Bean を構成する場合の考慮事項について説明します。

アプリケーション・サーバーで構成されているデータ・ソースへのアクセス

Spring アプリケーションが Java™ Database Connectivity (JDBC) データ・ソースなどのリソースにアクセスするためには、アプリケーションは、アプリケーション・サーバーによって管理されるリソース・プロバイダーを使用する必要があります。

これを行うには、Spring アプリケーション・データ・ソースへのアクセスの構成 のトピックを参照してください。

JDBC ネイティブ接続

WebSphere Application Server は、Spring Framework が提供している NativeJdbcExtractor クラスの使用をサポートしていないため、このクラスを使用するシナリオは使用しないでください。このクラスの実装は、ネイティブの JDBC 接続にアクセスし、接続ハンドルの追跡と再関連付け、接続の共有、接続プールやトランザクションへの参加の管理など、アプリケーション・サーバーにおけるサービスの品質機能を迂回します。

別の方法として、アプリケーション・サーバーの WSCallHelper クラスを使用して、データ・ソースに対する非標準のベンダー拡張にアクセスできます。

Java Persistence API

WebSphere Application Server には 2 つの JPA プロバイダーが含まれています。1 つは JPA 2.1 用の EclipseLink に基づいており、もう 1 つは JPA 2.0 の Apache OpenJPA 実装に基づいています。詳しくは、関連リンクを参照してください。

Spring Framework を JPA 実装とともに使用するには、Spring Framework で提供されている JPA ヘルパー・クラスを org.springframework.orm.jpa パッケージで使用するよりも、JPA を直接使用することをお勧めします。

Spring Framework から管理 JPA を使用するには、Web 記述子 (web.xml) で次のようにパーシスタンス・コンテキスト参照を定義します。
<persistence-context-ref>
  <persistence-context-ref-name>some/name</persistence-context-ref-name>
  <persistence-unit-name>pu_name</persistence-unit-name>
</persistence-context-ref>
ここで、pu_namepersistence.xml ファイルに定義されているパーシスタンス・ユニットの名前です。
これで、Web アプリケーション内の java:comp/env/some/name を介して、JNDI からパーシスタンス・コンテキストを使用できるようになります。 Spring Framework では、以下のサンプル・コードに示すように <jee:jndi-lookup/> を使用して、パーシスタンス・コンテキストを検索できるようになります。 結果の EntityManager オブジェクトは、"entityManager" ID の下で使用可能です。
<jee:jndi-lookup id="entityManager" jndi-name="some/name" />
同様に、(直接使用する、または Spring ラッパー・クラスで使用する) パーシスタンス・ユニットは、次のパーシスタンス・ユニット参照を通じて使用可能になります。
<persistence-unit-ref>
  <persistence-unit-ref-name>some/ref_name</persistence-unit-ref-name>
  <persistence-unit-name>pu_name</persistence-unit-name>
</persistence-unit-ref>
結果の EntityManagerFactory オブジェクトは、"entityManagerFactory" ID の下で使用可能です。
<jee:jndi-lookup id="entityManagerFactory" jndi-name="some/ref_name" />

トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cspr_data_access
ファイル名:cspr_data_access.html