ヘッダーをスキップ
Oracle TopLinkスタート・ガイド
10g(10.1.3.1.0)
B31862-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 TopLink 10g(10.1.3.1.0)への移行

この章では、既存の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 JPAプレビュー永続性からの移行

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の重要な違いについて説明します。内容は次のとおりです。

javax.persistenceでの変更

表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 説明

AccessMode

削除

10.1.3.1では、EJB 3.0エンティティはローカルまたはリモート・インタフェースを必要としません。すべてのエンティティ・アクセスはEntityManagerを経由するため、クライアントはアクセスがローカルであるかリモートであるかを考慮する必要がありません。

AccessType

削除

10.1.3.1では、EJB 3.0永続性仕様はエンティティ階層で単一のアクセス・タイプを使用する必要があります。マッピング注釈の設定により、実際のアクセス・タイプを決定します。

適用なし

AssociationOverride

継承のために注釈に行う変更の一部として10.1.3.1に追加されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#AssociationOverrideを参照してください。

適用なし

AssociationOverrides

継承のために注釈に行う変更の一部として10.1.3.1に追加されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#AssociationOverridesを参照してください。

Basic

Basic

10.1.3.1では、属性temporalTypeは省略されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Basicを参照してください。

適用なし

DiscriminatorValue

継承のために注釈に行う変更の一部として10.1.3.1に追加されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#InheritanceAnnotationsを参照してください。

EmbeddableSuperclass

削除

継承のために注釈に行う変更の一部として10.1.3.1に追加されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#InheritanceAnnotationsを参照してください。

Entity

Entity

10.1.3.1では、属性accessは省略されています。

適用なし

EntityExistsException

10.1.3.1で追加されました。

EntityListener

削除

10.1.3.1では、かわりにEntityListnersを使用します。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#EntityListenersを参照してください。

適用なし

EntityListeners

10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#EntityListenersを参照してください。

EntityManager

EntityManager

10.1.3.1では、EntityManagerメソッドのgetUserTransactionの名前はgetTransactionです。

次の新しいメソッドが10.1.3.1で追加されました。

  • setFlushMode

  • getFlushMode

  • lock

  • clear

  • joinTransaction

  • getDelegate

10.1.3.1では、このクラスのメソッドはEntityExistsExceptionIllegalStateExceptionなど追加の例外をスローし、また場合によってIllegalArgumentExceptionではなくIllegalStateExceptionをスローします。

EntityNotFoundException

EntityNotFoundException

10.1.3.1では、この例外はRuntimeExceptionではなくPersistenceExceptionを拡張します。

EntityTransaction

EntityTransaction

次の新しいメソッドが10.1.3.1で追加されました。

  • setRollbackOnly

  • getRollbackOnly

EntityType

削除

10.1.3.1では、EJB 3.0仕様でBMPの概要が削除されています。

Java EE 5 BMPアプリケーションを開発し、デプロイするには、EJB 2.1 APIを使用する必要があります。

適用なし

Enumerated

列挙タイプのダイレクト・マッピングをサポートするために10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Enumeratedを参照してください。

適用なし

EnumType

列挙タイプのダイレクト・マッピングをサポートするために10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Enumeratedを参照してください。

適用なし

ExcludeDefaultListeners

ライフサイクル・コールバックのデフォルトのリスナーの管理をサポートするために10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#ExcludeDefaultListenersを参照してください。

適用なし

ExcludeSuperclassListeners

ライフサイクル・コールバックのスーパークラス・リスナーの管理をサポートするために10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#ExcludeSuperclassListenersを参照してください。

FlushMode

削除

10.1.3.1では、フラッシュ・モードを設定するために、EntityManagerメソッドのsetFlushModeを使用してFlushModeTypeを設定します。

適用なし

GeneratedValue

自動主キー(ID)の生成をサポートするために10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#GeneratedValueを参照してください。

適用なし

GenerationType

自動主キー(ID)の生成をサポートするために10.1.3.1で追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#GeneratedValueを参照してください。

GeneratorType

削除

10.1.3.1では、GeneratedValueの属性strategyを使用してGenerationTypeを設定します。

Inhertiance

Inheritance

10.1.3.1では、次の属性は省略されています。

  • discriminatorType

  • discriminatorValue

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#InheritanceAnnotationsを参照してください。

JoinColumn

JoinColumn

10.1.3.1では、属性secondaryTabletableに変更されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#JoinColumnを参照してください。

JoinTable

JoinTable

10.1.3.1では、属性table(タイプTable)はname(タイプString)に変更されています。

次の属性が追加されました。

  • catalog

  • schema

  • uniqueConstraints

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#JoinTableを参照してください。

LobType

削除

10.1.3.1では、LOBタイプを指定するにはダイレクト・マッピングの注釈LOBを使用します。LOBはバイナリまたは文字タイプのいずれかです。永続性プロバイダは、永続フィールドまたはプロパティのタイプからLOBタイプを推測します。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Lobを参照してください。

適用なし

LockModeType


適用なし

MappedSuperclass

継承のために注釈に行う変更の一部として10.1.3.1に追加されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#MappedSuperclassを参照してください。

NamedNativeQuery

NamedNativeQuery

10.1.3.1では、属性queryStringqueryに変更され、属性hintsが追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#NamedNativeQueryを参照してください。

NamedQuery

NamedQuery

10.1.3.1では、属性queryStringqueryに変更され、属性hintsが追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#NamedQueryを参照してください。

NoResultException

NoResultException

10.1.3.1では、この例外はRuntimeExceptionではなくPersistenceExceptionを拡張します。

適用なし

OptimisticLockException


PersistenceContext

PersistenceContext

10.1.3.1では、属性propertiesが追加されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#PersistenceContextを参照してください。

適用なし

PersistenceProperty

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#PersistencePropertyを参照してください。

適用なし

QueryHint

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#QueryHintを参照してください。

適用なし

RollbackException


SecondaryTable

SecondaryTable

10.1.3.1では、属性pkJoinpkJoinColumnsに変更されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#SecondaryTableを参照してください。

SequenceGenerator

SequenceGenerator

10.1.3.1では、属性initialValueのデフォルトは0から1に変更されました。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#SequenceGeneratorを参照してください。

適用なし

SqlResultSetMappings

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#SqlResultSetMappingsを参照してください。

Table

Table

10.1.3.1では、属性specifiedは省略されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Tableを参照してください。

TableGenerator

TableGenerator

10.1.3.1では、次の属性が追加されました。

  • catalog

  • schema

  • uniqueConstraints

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#TableGeneratorを参照してください。

適用なし

Temporal

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Temporalを参照してください。

TemporalType

TemporalType

10.1.3.1では、列挙値NONEは省略されています。

詳細はhttp://www.oracle.com/technology/products/ias/toplink/jpa/resources/toplink-jpa-annotations.html#Temporalを参照してください。

TransactionRequiredException

TransactionRequiredException

10.1.3.1では、この例外はRuntimeExceptionではなくPersistenceExceptionを拡張します。


oracle.toplink.essentials.platform.databaseでの変更

10.1.3.1では、次の新規クラスが追加されました。

  • DerbyPlatform

  • JavaDBPlatform

  • PostgreSQLPlatform

エンティティ・マネージャの取得: 永続性ユニットとpersistence.xmlファイル

10.1.3.0では、エンティティ・マネージャが管理するエンティティのリストを使用してクラスを特定するためにjava.persistence.setup.configプロパティを使用します。

10.1.3.1ではプロパティは不要です。かわりにEJB 3.0仕様に従って永続性ユニット内で管理されるエンティティ・クラスを定義する必要があります。詳細は次のURLを参照してください。

新規JARファイル

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 Workbenchプロジェクトのアップグレード

以前のバージョンのTopLinkからTopLink Workbenchプロジェクト(.mwp)と、(必要な場合)project.xmlファイルを更新する場合、表3-2を参照してください。

表3-2 TopLink Workbenchプロジェクトのアップグレード

アップグレード前のリリース 使用する手順

リリース3(10.1.3)およびリリース2(10.1.2)

  1. 10g(10.1.3.1.0)TopLink Workbenchで既存のプロジェクトを開きます。

  2. 新規TopLink Workbenchプロジェクトを新しい場所に保存します。

リリース2(9.0.4)

  1. 10g(10.1.3.1.0)TopLink Workbenchで既存のプロジェクトを開きます。

  2. 新規TopLink Workbenchプロジェクトを新しい場所に保存します。

リリース1(9.0.3)

  1. 10g(10.1.3.1.0)TopLink Workbenchで既存のプロジェクトを開きます。

  2. すべての構成済ログインからパスワードを削除します。

  3. すべての構成済ログインに対してパスワードを平文(暗号されていない)で再入力します。

  4. project.xmlをエクスポートします。

    project.xmlをエクスポートすると、TopLink WorkbenchによりJava Cryptograph Extension(JCE)暗号化を使用してログイン・パスワードが記述されます(JDK 1.4以上使用時)。

    実行時にこの新しいproject.xmlファイルを使用します。

  5. 新規TopLink Workbenchプロジェクトを新しい場所に保存します。


パッケージの名前変更

リリース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)で開く前にパッケージ名を変換する必要があります。


パッケージ名変更ツールを次のものに対して使用します。

パッケージ名変更ツールは、プレーン・テキスト・ファイルで機能し、バイナリ・ファイル(.jarなど)では使用できません。

パッケージ名変更ツールの実行

次の手順に従い、リリース1(9.0.3)より前の既存のアプリケーション・ソース・コードとTopLink Workbenchプロジェクトを10g(10.1.3.1.0)にアップグレードします。

  1. コマンド・プロンプトで、<ORACLE_HOME>toplink/binディレクトリにあるpackageRename.cmd/shプログラムを実行します。コマンドラインで次の3つのパラメータを指定する必要があります。

    • 既存プロジェクトのJavaソース・コードが含まれている完全なディレクトリ・パス。

    • アップグレードされた10g(10.1.3.1.0)プロジェクトを含む完全なディレクトリ・パス。

    • ログ・ファイルの名前。ファイルを指定しなかった場合、ロギング・メッセージが標準出力に出力されます。

  2. [Enter]を押すと、パッケージ名変更ツールによりプロジェクトがアップグレードされます。1MBのファイルの場合、パッケージ名変更ツールでは約15分かかります。それより大きなファイルには、さらに時間がかかります。

  3. 次のものにこの手順を繰り返します。

    • ソース・コード

    • 構成ファイル

    • TopLink Workbenchプロジェクト・ファイル(*.mwp*.xml

Sessions 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>要素が含まれます。次のいずれかの方法を使用してセッション・ログインを正しく構成します。

詳細は、『Oracle TopLink開発者ガイド』のTopLinkセッションに関する項を参照してください。

ホストにあるXSDの使用

10g(10.1.3.1.0)の場合、Oracle TopLinkで使用するXSDファイルは、TopLinkの標準インストールに含まれます。または、OTNから入手できます。

http://www.oracle.com/technology/oracleas/schema/

具体的には、次のXSDファイルを使用できます。