Java Persistence API (JPA) ローダーは、JPA を使用してデータベースと対話するプラグイン実装です。
次のパラメーターが必要です。 これらのパラメーターは、JPALoader または JPAEntityLoader Bean、および JPATxCallback Bean 内で構成されます。
この 4 つの JPA パラメーターが eXtreme Scale に構成されるほか、JPA エンティティーからキーを取得するため、JPA メタデータが使用されます。JPA メタデータは、アノテーションとして構成するか、 persistence.xml ファイル内に指定される orm.xml ファイルとして構成できます。 これは、eXtreme Scale 構成には含まれません。
JPALoader または JPAEntityLoader を構成する場合は、データベースとの通信のためのプラグインを参照してください。
ローダー構成と一緒に、JPATxCallback トランザクション・コールバックを構成します。 以下に、JPAEntityLoader と JPATxCallback が構成されている ObjectGrid XML 記述子ファイル (objectgrid.xml) の例を示します。
コールバックを含むローダーの構成 - XML の例
<?xml version="1.0" encoding="UTF-8"?>
<objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
xmlns="http://ibm.com/ws/objectgrid/config">
<objectGrids>
<objectGrid name="JPAEM" entityMetadataXMLFile="jpaEMD.xml">
<bean id="TransactionCallback"
className="com.ibm.websphere.objectgrid.jpa.JPATxCallback">
<property
name="persistenceUnitName"
type="java.lang.String"
value="employeeEMPU" />
</bean>
<backingMap name="Employee" pluginCollectionRef="Employee" />
</objectGrid>
</objectGrids>
<backingMapPluginCollections>
<backingMapPluginCollection id="Employee">
<bean id="Loader"
className="com.ibm.websphere.objectgrid.jpa.JPAEntityLoader">
<property
name="entityClassName"
type="java.lang.String"
value="com.ibm.ws.objectgrid.jpa.test.entity.Employee"/>
</bean>
</backingMapPluginCollection>
</backingMapPluginCollections>
</objectGridConfig>
JPAPropertyFactory を構成する場合は、Spring スタイルの構成を使用する必要があります。 以下に示すのは、Spring Bean が eXtreme Scale 構成に使用されるように構成している XML 構成ファイル・サンプル例 ( JPAEM_spring.xml) です。
JPA プロパティー・ファクトリーを含むローダーの構成 - XML の例
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:objectgrid="http://www.ibm.com/schema/objectgrid"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<objectgrid:JPAEntityLoader id="jpaLoader"
entityClassName="com.ibm.ws.objectgrid.jpa.test.entity.Employee"/>
<objectgrid:JPATxCallback id="jpaTxCallback" persistenceUnitName="employeeEMPU" />
</beans>
次に Objectgrid.xml 構成 XML ファイルを示します。 ObjectGrid の名前は JPAEM であり、これは、JPAEM_spring.xml Spring 構成ファイルの ObjectGrid 名に一致しています。
JPAEM ローダー構成 - XML の例
<?xml version="1.0" encoding="UTF-8"?>
<objectGridConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ibm.com/ws/objectgrid/config ../objectGrid.xsd"
xmlns="http://ibm.com/ws/objectgrid/config">
<objectGrids>
<objectGrid name="JPAEM" entityMetadataXMLFile="jpaEMD.xml">
<bean id="TransactionCallback"
className="{spring}jpaTxCallback"/>
<backingMap name="Employee" pluginCollectionRef="Employee"
writeBehind="T4"/>
</objectGrid>
</objectGrids>
<backingMapPluginCollections>
<backingMapPluginCollection id="Employee">
<bean id="Loader" className="{spring}jpaLoader" />
</backingMapPluginCollection>
</backingMapPluginCollections>
</objectGridConfig>
エンティティーには、JPA アノテーションおよび eXtreme Scale エンティティー・マネージャー・アノテーションの両方でアノテーションを付けることができます。 各アノテーションには、使用可能な等価 XML があります。そのため、eXtreme Scale は Spring 名前空間を追加しています。 この Spring 名前空間サポートを使用してこれらを構成することもできます。詳しくは、Spring Framework の概要を参照してください。