この章では、既存のOracle TopLinkプロジェクトをTopLink 10g(10.1.3.1.0)に移行する方法について説明します。
この章は、次の項で構成されています。
既存のOC4JまたはWebLogic永続性のTopLinkへの移行の詳細は、『Oracle TopLink開発者ガイド』のTopLinkとアプリケーション・サーバーの統合に関する項を参照してください。
注意: プロジェクトの移行後にClassNotFound 例外が発生した場合は、JDBC_CLASSPATH変数に永続ビジネス・オブジェクト用のJavaクラスが含まれていないことを確認してください。永続ビジネス・オブジェクトのパスは、TopLink Workbenchプロジェクト内で設定されています。詳細は、『Oracle TopLink開発者ガイド』のプロジェクト・クラスパスの構成に関する項を参照してください。
また、レガシーTopLinkクラスへの参照についてプロジェクト・クラスを確認してください。 |
10.1.3.0では、TopLinkはEJB 3.0パブリック・レビュー・ドラフトで指定された機能のサブセットに基づいたJPAプレビューを提供します。
10.1.3.1では、TopLinkはEJB 3.0仕様の最終版によりJPAの完全サポート(TopLink Essentialsを介して)を提供します。
使用するJPA永続性実装の指定方法の詳細は、『Oracle Containers for J2EE Enterprise JavaBeans開発者ガイド』のEJB 3.0 JPA永続性JARファイルに関する項を参照してください。
TopLink 10.1.3.1で使用する前に、JPAプレビューベースのアプリケーションのコードを変更する必要があります。この項では、変更内容の特定に役立つようTopLink JPAプレビューと完全なTopLink JPAの重要な違いについて説明します。内容は次のとおりです。
表3-1では、10.1.3.0から10.1.3.1の間にjavax.persistence
パッケージに対して行われた追加、削除および変更を示します。アプリケーションでこれらのクラスのいずれかを使用する場合、詳細は最新のEBJ 3.0仕様およびJPA Javadocを参照してください。
表3-1 javax.persistenceへの変更
10.1.3.0 | 10.1.3.1 | 説明 |
---|---|---|
|
削除 |
10.1.3.1では、EJB 3.0エンティティはローカルまたはリモート・インタフェースを必要としません。すべてのエンティティ・アクセスは |
|
削除 |
10.1.3.1では、EJB 3.0永続性仕様はエンティティ階層で単一のアクセス・タイプを使用する必要があります。マッピング注釈の設定により、実際のアクセス・タイプを決定します。 |
適用なし |
|
継承のために注釈に行う変更の一部として10.1.3.1に追加されています。 詳細は |
適用なし |
|
継承のために注釈に行う変更の一部として10.1.3.1に追加されています。 詳細は |
|
|
10.1.3.1では、属性 詳細は |
適用なし |
|
継承のために注釈に行う変更の一部として10.1.3.1に追加されています。 |
|
削除 |
継承のために注釈に行う変更の一部として10.1.3.1に追加されています。 |
|
|
10.1.3.1では、属性 |
適用なし |
|
10.1.3.1で追加されました。 |
|
削除 |
10.1.3.1では、かわりに 詳細は |
適用なし |
|
10.1.3.1で追加されました。 詳細は |
|
|
10.1.3.1では、 次の新しいメソッドが10.1.3.1で追加されました。
10.1.3.1では、このクラスのメソッドは |
|
|
10.1.3.1では、この例外は |
|
|
次の新しいメソッドが10.1.3.1で追加されました。
|
|
削除 |
10.1.3.1では、EJB 3.0仕様でBMPの概要が削除されています。 Java EE 5 BMPアプリケーションを開発し、デプロイするには、EJB 2.1 APIを使用する必要があります。 |
適用なし |
|
列挙タイプのダイレクト・マッピングをサポートするために10.1.3.1で追加されました。 詳細は |
適用なし |
|
列挙タイプのダイレクト・マッピングをサポートするために10.1.3.1で追加されました。 詳細は |
適用なし |
|
ライフサイクル・コールバックのデフォルトのリスナーの管理をサポートするために10.1.3.1で追加されました。 |
適用なし |
|
ライフサイクル・コールバックのスーパークラス・リスナーの管理をサポートするために10.1.3.1で追加されました。 |
|
削除 |
10.1.3.1では、フラッシュ・モードを設定するために、 |
適用なし |
|
自動主キー(ID)の生成をサポートするために10.1.3.1で追加されました。 詳細は |
適用なし |
|
自動主キー(ID)の生成をサポートするために10.1.3.1で追加されました。 詳細は |
|
削除 |
10.1.3.1では、 |
|
|
10.1.3.1では、次の属性は省略されています。
|
|
|
10.1.3.1では、属性 詳細は |
|
|
10.1.3.1では、属性 次の属性が追加されました。
詳細は |
|
削除 |
10.1.3.1では、LOBタイプを指定するにはダイレクト・マッピングの注釈LOBを使用します。LOBはバイナリまたは文字タイプのいずれかです。永続性プロバイダは、永続フィールドまたはプロパティのタイプからLOBタイプを推測します。 詳細は |
適用なし |
|
|
適用なし |
|
継承のために注釈に行う変更の一部として10.1.3.1に追加されています。 詳細は |
|
|
10.1.3.1では、属性 詳細は |
|
|
10.1.3.1では、属性 詳細は |
|
|
10.1.3.1では、この例外は |
適用なし |
|
|
|
|
10.1.3.1では、属性 詳細は |
適用なし |
|
詳細は |
適用なし |
|
詳細は |
適用なし |
|
|
|
|
10.1.3.1では、属性 詳細は |
|
|
10.1.3.1では、属性 詳細は |
適用なし |
|
詳細は |
|
|
10.1.3.1では、属性 詳細は |
|
|
10.1.3.1では、次の属性が追加されました。
詳細は |
適用なし |
|
詳細は |
|
|
10.1.3.1では、列挙値 詳細は |
|
|
10.1.3.1では、この例外は |
10.1.3.1では、次の新規クラスが追加されました。
DerbyPlatform
JavaDBPlatform
PostgreSQLPlatform
10.1.3.0では、エンティティ・マネージャが管理するエンティティのリストを使用してクラスを特定するためにjava.persistence.setup.config
プロパティを使用します。
10.1.3.1ではプロパティは不要です。かわりにEJB 3.0仕様に従って永続性ユニット内で管理されるエンティティ・クラスを定義する必要があります。詳細は次のURLを参照してください。
10.1.3.0では、persistence-preview.jar
によってTopLink JPAプレビュー実装が提供されます。
10.1.3.1では、toplink-essentials.jar
およびtoplink-essentials-agent.jar
によって完全なTopLink JPA実装が提供されます。
IDEで、プロジェクトと関連付ける可能性のあるライブラリ定義に10.1.3.1 TopLink JPAライブラリのみが含まれ、古い10.1.3.0ライブラリが含まれていないことを確認します。
TopLink JARファイルの詳細は、「TopLink JARファイル」を参照してください。
以前のバージョンのTopLinkからTopLink Workbenchプロジェクト(.mwp
)と、(必要な場合)project.xml
ファイルを更新する場合、表3-2を参照してください。
表3-2 TopLink Workbenchプロジェクトのアップグレード
アップグレード前のリリース | 使用する手順 |
---|---|
リリース3(10.1.3)およびリリース2(10.1.2) |
|
リリース2(9.0.4) |
|
リリース1(9.0.3) |
|
リリース1(9.0.3)から、TopLink製品全体の基本パッケージがoracle.toplink
に変更されました。リリース1(9.0.3)より前のTopLink APIパッケージおよび既存のTopLink Workbenchプロジェクトを参照する既存のアプリケーション・ソース・コードをアップグレードするには、パッケージ名変更ツールを使用する必要があります。
以前のバージョンからプロジェクトを移行する場合、TopLink Workbenchのパッケージ名変更機能は使用できません。パッケージ名変更ツールを使用する必要があります。
注意: リリース1(9.0.3)より前のリリースからアップグレードする場合、TopLinkプロジェクトを10g(10.1.3.1.0)で開く前にパッケージ名を変換する必要があります。 |
パッケージ名変更ツールを次のものに対して使用します。
ソース・コード
構成ファイル
リリース1(9.0.3)より前のAPIパッケージに対する参照が含まれているTopLink Workbenchプロジェクト・ファイル(.mwp
)
パッケージ名変更ツールは、プレーン・テキスト・ファイルで機能し、バイナリ・ファイル(.jar
など)では使用できません。
次の手順に従い、リリース1(9.0.3)より前の既存のアプリケーション・ソース・コードとTopLink Workbenchプロジェクトを10g(10.1.3.1.0)にアップグレードします。
コマンド・プロンプトで、<ORACLE_HOME>
toplink/bin
ディレクトリにあるpackageRename.cmd/sh
プログラムを実行します。コマンドラインで次の3つのパラメータを指定する必要があります。
既存プロジェクトのJavaソース・コードが含まれている完全なディレクトリ・パス。
アップグレードされた10g(10.1.3.1.0)プロジェクトを含む完全なディレクトリ・パス。
ログ・ファイルの名前。ファイルを指定しなかった場合、ロギング・メッセージが標準出力に出力されます。
[Enter]を押すと、パッケージ名変更ツールによりプロジェクトがアップグレードされます。1MBのファイルの場合、パッケージ名変更ツールでは約15分かかります。それより大きなファイルには、さらに時間がかかります。
次のものにこの手順を繰り返します。
ソース・コード
構成ファイル
TopLink Workbenchプロジェクト・ファイル(*.mwp
、*.xml
)
TopLink Workbench 10g(10.1.3.1.0)では、必要に応じてsessions.xml
ファイルを自動更新します。10g(10.1.3.1.0)でファイルを開き、データソース情報を更新して(必要に応じて)、ファイルを保存します。
10g(10.1.3.1.0)では、sessions.xml
ファイルにproject.xml
に含まれるログイン情報をオーバーライドする<login>
要素が含まれます。次のいずれかの方法を使用してセッション・ログインを正しく構成します。
10g(10.1.3.1.0)のsessions.xml
(XSD)を<login>
要素を含めて使用します。sessions.xml
にすべてのログイン情報を含める必要があります。
10g(10.1.3.1.0)のsessions.xml(XSD)を<login>要素を含めず使用します。project.xml
(またはプロジェクト・クラス)にすべてのログイン情報を含めます。
sessions.xml
を使用せず、project.xml
(またはプロジェクト・クラス)を使用します。project.xml
(またはプロジェクト・クラス)にすべてのログイン情報を含めます。
9.0.4のsessions.xml
ファイル(DTD)を使用します。sessions.xml
に含まれるログイン情報によって、project.xml
(またはプロジェクト・クラス)のログイン情報がオーバーライドされます。
詳細は、『Oracle TopLink開発者ガイド』のTopLinkセッションに関する項を参照してください。
10g(10.1.3.1.0)の場合、Oracle TopLinkで使用するXSDファイルは、TopLinkの標準インストールに含まれます。または、OTNから入手できます。
http://www.oracle.com/technology/oracleas/schema/
具体的には、次のXSDファイルを使用できます。
http://www.oracle.com/technology/oracleas/schema/object-persistence_1_0.xsd
http://www.oracle.com/technology/oracleas/schema/sessions_10_1_3.xsd
http://www.oracle.com/technology/oracleas/schema/toplink-object-persistence_10_1_3.xsd
http://www.oracle.com/technology/oracleas/schema/toplink-was-ejb-jar_10_1_3.xsd