Interstage永続性プロバイダがサポートしているデータベースについては、「1.1.3 データベース関連」を参照してください。
その他の永続性プロバイダを使用する場合にも、本製品がサポートしているデータベースを使用してください。
データベースの設定方法は、実行環境により異なります。
Java EE環境でのデータベース設定
EJB、WebまたはアプリケーションクライアントコンテナでJPAを使用する場合、以下を行ってください。
データソースを用意します。データソースの作成方法などについては、「5.14 データベースの環境設定」を参照してください。
用意したデータソースのデータソース名をdeployment descriptor (persistence.xml)の<jta-data-source>または<non-jta-data-source>に定義します。
本製品では、以下の順番でデータソース名が定義箇所から取得されます。
JTAトランザクションを使用する操作の場合
<jta-data-source>
非JTAトランザクション(リソースローカルトランザクション)を使用する操作の場合
<non-jta-data-source>
<jta-data-source>
EJBまたはWebコンテナでInterstage永続性プロバイダを使用しデータソース名を定義していない場合、デフォルトのデータソース名("jdbc/__default")が使用されます。
JDBC接続プールから取得される接続が必要な場合、自動的にトランザクションコンテキストに登録されます。接続プールの非トランザクション接続設定が無視されます。
例
JTAトランザクションを使用する場合のデータソース定義例
<persistence 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"
version="1.0">
<persistence-unit name="com.company.my.pu" transaction-type="JTA">
<jta-data-source>jdbc/myDatasource</jta-data-source>
</persistence-unit>
</persistence>
Java SE環境でのデータベース設定
アプリケーション開発やテスト時に、Java SE環境でJavaスタンドアロンアプリケーションとしてInterstage永続性プロバイダを使用できます。その場合、以下のプロパティでデータベースの定義をdeployment descriptor (persistence.xml)、またはエンティティマネージャファクトリの取得時にjavax.persistence.PersistenceのcreateEntityManagerFactory(String, Map)メソッドに指定します。両方に指定した場合、後者に定義した設定が優先されます。
永続性ユニットプロパティ名 | 説明 |
---|---|
toplink.jdbc.driver | JDBCドライバクラス名(java.sql.Driverの実装クラス)です。 |
toplink.jdbc.url | データベースへのアクセスでドライバが想定するJDBC URLです。 |
toplink.jdbc.user | データベースへの認証アクセスで使用されるユーザ名です。 |
toplink.jdbc.password | 選択しているデータベースへのアクセスに使用されるパスワードです。パスワードエイリアスは使用できません。 |
JDBCドライバの使用に必要なドライバクラス名、JDBC URL、ライブラリやクラスパス設定については、JDBCドライバのマニュアルを参照してください。
例
Java SEスタンドアロンアプリケーションのデータベース定義例
<persistence 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" version="1.0"> <persistence-unit name="com.company.my.pu" transaction-type="RESOURCE_LOCAL"> <class>com.example.entity.Employee</class> <class>com.example.entity.Department</class> <properties> <property name="toplink.jdbc.driver" value="oracle.jdbc.OracleDriver"/> <property name="toplink.jdbc.url" value="jdbc:oracle:thin:@dbhost:1521:mysid"/> <property name="toplink.jdbc.user"
value="user1"/>
<property name="toplink.jdbc.password"
value="pwd1"/>
</properties> </persistence-unit> </persistence>