ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

14.2.7 JPAについて

Interstage永続性プロバイダ

Java SE環境で使用する場合、クラスパスに追加するモジュールが異なります。

Java EE 5の場合、「C:\Interstage\F3FMisjee\lib\toplink-essentials.jar」

Jakarta EE 8の場合、「C:\Interstage\glassfish5\glassfish\modules\org.eclipse.persistence.jpa.jar」

Java EE 5の場合、「/opt/FJSVisjee/lib/toplink-essentials.jar」

Jakarta EE 8の場合、「/opt/FJSViaps/glassfish5/glassfish/modules/org.eclipse.persistence.jpa.jar」

Java SE環境でのデータベース設定

Java SE環境でInterstage永続性プロバイダが使用する永続性ユニットプロパティ名が異なります。

Java EE 5プロパティ名

Jakarta EE 8プロパティ名

説明

toplink.jdbc.driver

eclipselink.jdbc.driver

JDBCドライバクラス名(java.sql.Driverの実装クラス)です。

toplink.jdbc.url

eclipselink.jdbc.url

データベースへのアクセスでドライバが想定するJDBC URLです。

toplink.jdbc.user

eclipselink.jdbc.user

データベースへの認証アクセスで使用されるユーザー名です。

toplink.jdbc.password

eclipselink.jdbc.password

選択しているデータベースへのアクセスに使用されるパスワードです。パスワードエイリアスは使用できません。

データベーステーブル自動生成機能

データベーステーブル自動生成機能が使用する永続性ユニットプロパティ名が異なります。

Java EE 5プロパティ名

Jakarta EE 8プロパティ名

説明

toplink.ddl-generation

javax.persistence.schema-generation.database.action

テーブル生成のDDLをデータベースへ発行するかどうかと、テーブル生成と削除のDDLをファイルに書き込むかどうかの設定はこの2つのプロパティの組み合わせで設定します。

toplink.ddl-generation.output-mode

javax.persistence.schema-generation.scripts.action

toplink.application-location

なし

DDLファイルの格納先は以下のプロパティにフルパスで指定してください。

javax.persistence.schema-generation.scripts.create-target

javax.persistence.schema-generation.scripts.drop-target

toplink.create-ddl-jdbc-file-name

javax.persistence.schema-generation.scripts.create-target

テーブル生成のDDLのファイル名です。Jakarta EE 8では格納先のディレクトリー名を含めて指定できます。

toplink.drop-ddl-jdbc-file-name

javax.persistence.schema-generation.scripts.drop-target

テーブル削除のDDLのファイル名です。Jakarta EE 8では格納先のディレクトリー名を含めて指定できます。

Jakarta EE 8ではテーブルの自動削除機能は使用できません。テーブルを削除する場合は、配備時にテーブル削除のDDLを作成するように設定し、その作成したテーブル削除のDDLを実行してください。

データベーステーブル自動生成機能の詳細については「2.11.6 データベーステーブル自動生成機能」を参照してください。

Pessimistic Locking機能の定義方法

行のロック機能のPessimistic Locking機能の定義方法が異なります。

Java EE 5の場合、Pessimistic Locking機能はJPQLクエリのヒントに定義します。

クエリヒントは、deployment descriptor (orm.xml)のquery-hintタグ、アノテーション(@QueryHint)、またはQuery.setHintメソッドで指定します。

クエリヒント名

値(太字:省略値)

説明

toplink.pessimistic-lock

Lock

クエリの実行にSELECT FOR UPDATE命令を使用します。

LockNoWait

クエリの実行にSELECT FOR UPDATE NOWAIT命令を使用します。

NoLock

クエリの実行にSELECTを使用します。

Jakarta EE 8の場合、Pessimistic Locking機能は、deployment descriptor (orm.xml)のlock-modeタグ、アノテーション(@NamedQueryのlockMode属性)、またはQuery.setLockModeメソッド、EntityManager.findメソッド、EntityManager.lockメソッドで指定します。

行のロック機能の詳細については「2.11.7 行のロック機能」を参照してください。

SQLログ機能

SQLログ機能が使用する永続性ユニットプロパティ名が異なります。

Java EE 5プロパティ名

Jakarta EE 8プロパティ名

説明

toplink.logging.level.sql

eclipselink.logging.level.sql

SQLログ機能のログレベルを指定します。

SQLログ機能の詳細は「2.11.8 SQLログ機能」を参照してください。

プライマリキー値の自動生成機能について

使用するDBMSがSQL Server 2012以降の場合、自動生成機能の生成パターンに対して選択される方針が以下のように異なります。

生成パターン

Java EE 5で選択される方針

Jakarta EE 8で選択される方針

AUTO

generatorの値を省略した場合、Generatorの名前はSEQ_GENとなります。このGeneratorがSequenceGeneratorの場合、IDENTITYカラムが利用されます。このGeneratorが定義されていない場合、属性の省略値を使用するTableGeneratorが使用されます。

generatorの値を省略した場合、Generatorの名前はSEQ_GENとなります。このGeneratorが定義されていない場合、属性の省略値を使用するTableGeneratorが使用されます。

SEQUENCE

IDENTITYカラムが使用されます。ただし、generatorにTableGeneratorの名前を指定した場合、TableGeneratorが使用されます。

SequenceGeneratorが使用されます。generatorを省略した場合、名前がSEQ_GEN_SEQUENCEとなり、他の属性に省略値が使用されます。ただし、generatorにTableGeneratorの名前を指定した場合、TableGeneratorが使用されます。

IDENTITY

IDENTITYカラムが使用されます。generatorを省略した場合、名前がSEQ_GEN_SEQUENCEとなり、他の属性に省略値が使用されます。ただし、generatorにTableGeneratorの名前を指定した場合、TableGeneratorが使用されます。また、generatorにSequenceGeneratorの名前を指定した場合、SequenceGeneratorが使用されます。

詳細は、「2.11.5 プライマリキー値の自動生成機能」を参照してください。