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 プライマリキー値の自動生成機能」を参照してください。