ヘッダーをスキップ
Oracle Fusion Middleware Oracle TopLink開発者ガイド
11gリリース1(11.1.1)
B56246-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

116プロジェクトの作成

この章では、TopLinkプロジェクトの作成方法について説明します。

この章の内容は次のとおりです。

使用可能な様々なプロジェクト・タイプの詳細は、15.1項「TopLinkプロジェクト・タイプ」を参照してください。

116.1 プロジェクト作成の概要

プロジェクトは、Oracle JDeveloper、TopLink WorkbenchまたはJavaコードを使用して作成できます。

Oracle JDeveloperまたはTopLink Workbenchを使用してプロジェクトを作成し、実行時に使用するプロジェクトのデプロイXMLまたはJavaソース・バージョンを生成することをお薦めします。詳細は、116.1.1項「Oracle JDeveloperを使用したプロジェクトの作成方法」および116.1.2項「TopLink Workbenchを使用したプロジェクトの作成方法」を参照してください。

また、プロジェクトはJavaコードでも作成できます。XML以外のレコード・タイプを使用するEISプロジェクトの場合は、Javaコードを使用する必要があります。詳細は、116.1.3項「Javaを使用したプロジェクトの作成方法」および『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

Javaを使用したプロジェクトの作成方法の詳細は、116.1.3項「Javaを使用したプロジェクトの作成方法」を参照してください。

116.1.1 Oracle JDeveloperを使用したプロジェクトの作成方法

Oracle JDeveloperを使用してTopLinkプロジェクトを作成する場合、マッピング情報は、TopLinkマップに格納されます。TopLinkマップには、クラスがデータベース表にどのようにマップされるかに関する情報が含まれています。TopLinkエディタを使用して、次のようなマッピングの各コンポーネントを編集します。

  • ドライバ、URL、ログイン情報などのデータベース情報

  • アイデンティティ・マップ・オプション、キャッシュ・オプションなどのマッピングのデフォルト設定

Oracle JDeveloperのTopLinkエディタは次のプロジェクト・タイプをサポートします。

  • リレーショナル・データベース・プロジェクト・アイコン
    リレーショナル・プロジェクト

  • XMLプロジェクト・アイコン
    XMLプロジェクト

  • EISプロジェクト・アイコン
    EISプロジェクト

116.1.2 TopLink Workbenchを使用したプロジェクトの作成方法

TopLink Workbenchを使用してプロジェクトを作成する場合は、すべてのプロジェクト情報は、プロジェクト・ファイル( .mwpファイル)に格納されます。このファイルは、Javaクラスがデータベース表またはXML要素にマップする方法についての情報を含む追加のXMLデータファイルを参照します。

TopLink Workbenchを使用して、TopLinkランタイムによって読み取られるTopLinkプロジェクトXMLファイル(つまり、デプロイXMLファイル)としてこの情報をエクスポートできます。また、この情報をJavaクラスとしてエクスポートすることもできます。詳細は、116.3項「プロジェクト情報のエクスポート」を参照してください。

TopLink Workbenchは、プロジェクトおよびその内容をナビゲータ・ウィンドウに表示します。プロジェクトを選択すると、その属性がエディタ・ウィンドウに表示されます。詳細は、5.3.3項「ナビゲータの使用方法」を参照してください。TopLink Workbenchは次のプロジェクト・タイプをサポートします。

  • リレーショナル・データベース・プロジェクト・アイコン
    リレーショナル・プロジェクト

  • XMLプロジェクト・アイコン
    XMLプロジェクト

  • EISプロジェクト・アイコン
    EISプロジェクト

116.1.2.1 新規TopLink Workbenchプロジェクトの作成

この項では、新規TopLink Workbenchプロジェクトの作成について説明します。既存の永続アプリケーション(OC4Jなど)から新規プロジェクトを作成する場合は、第8章「TopLinkとアプリケーション・サーバーの統合」を参照してください。JAXBから新規プロジェクトを作成する場合は、47.1.1項「TopLinkによるJava Architecture for XML Binding(JAXB)のサポート」を参照してください。

新規TopLink Workbenchプロジェクトを作成するには、次の手順を実行します。

  1. 「新規プロジェクト」アイコン
    ツールバーの「新規」をクリックして「プロジェクト」を選択します。「新規TopLink Workbenchプロジェクトの作成」ダイアログ・ボックスが表示されます。

    メニューから「ファイル」「新規」「プロジェクト」の順に選択して、新規プロジェクトを作成することもできます。

    図116-1 「新規TopLink Workbenchプロジェクトの作成」ダイアログ・ボックス

    図116-1の説明が続きます
    「図116-1 「新規TopLink Workbenchプロジェクトの作成」ダイアログ・ボックス」の説明

次の情報を参照し、このダイアログ・ボックスの各フィールドにデータを入力します。

フィールド 説明
名前 TopLink Workbenchプロジェクトの名前を入力します。このプロジェクト名は.mwpファイルの名前にもなります。
データ・ソース この領域の各オプションを使用して、作成するプロジェクトのタイプおよびそのデータ・ソースを指定します。
    データベース 「データベース」を選択すると、リレーショナル・データベース用にリレーショナル・プロジェクトが作成されます。

「プラットフォーム」リストを使用して、特定のデータベース・プラットフォームを選択します。

詳細は、第18章「リレーショナル・プロジェクトの概要」を参照してください。

    EIS 「EIS」を選択すると、XMLレコードを使用して、非リレーショナル・データ・ソース用にEISプロジェクトが作成されます。

「プラットフォーム」リストを使用して、使用するJCAアダプタを指定します。

詳細は、第71章「EISプロジェクトの概要」を参照してください。

   XML 「XML」を選択すると、XMLスキーマ用に、非トランザクション型で非永続的なXMLプロジェクトが作成されます。

あるいは、XMLプロジェクトとオブジェクト・モデル・クラスの両方を生成できます(48.2項「XMLスキーマからのXMLプロジェクトの作成」を参照)。

詳細は、第47章「XMLプロジェクトの概要」を参照してください。


プロジェクトについては、続いて次の操作があります。

116.1.3 Javaを使用したプロジェクトの作成方法

Javaコードを使用してプロジェクトを作成するには、次の手順を実行します。

  1. oracle.toplink.sessions.Projectクラスを拡張するプロジェクト・クラスを実装します(例116-1を参照)。

  2. プロジェクト・クラスをコンパイルします。

例116-1 TopLinkプロジェクトのコードによる指定

/**
* The class EmployeeProject is an example of an Oracle TopLink project defined in
* Java code. The individual parts of the project - the Login and the descriptors,
* are built inside of methods that are called by the constructor. Note that
* EmployeeProject extends the class oracle.toplink.sessions.Project
*/
public class EmployeeProject extends oracle.toplink.sessions.Project {

/**
* Supply a zero-argument constructor that initializes all aspects of the project.
* Make sure that the login and all the descriptors are initialized and added to
* the project. Project-level properties, such as the name of the project, should
* be specified here
*/
public EmployeeProject() {
  setName("EmployeeProject");
  applyLogin();

  addDescriptor(buildAddressDescriptor());
  addDescriptor(buildEmployeeDescriptor());
  addDescriptor(buildPhoneNumberDescriptor());
}

// Data source information
public void applyLogin() {
  DatabaseLogin login = new DatabaseLogin();

  // use platform appropriate for underlying database
  login.usePlatform(
    new oracle.toplink.platform.database.oracle.Oracle9Platform());
  login.setDriverClassName("oracle.jdbc.OracleDriver");
  login.setConnectionString("jdbc:oracle:thin:@HOST:PORT:SID");
  login.setUserName("USER NAME");
  login.setEncryptedPassword("PASSWORD, ENCRYPTED");

  // Configuration Properties
    setDatasourceLogin(login);
}

/**
* Descriptors are built by defining table info, setting properties
* (caching, etc.) and by adding mappings to the descriptor
*/

// SECTION: DESCRIPTOR
public ClassDescriptor buildAddressDescriptor() {

  RelationalDescriptor descriptor = new RelationalDescriptor();

  // specify the class to be made persistent
  descriptor.setJavaClass(examples.servletjsp.model.Address.class);

  // specify the tables to be used and primary key
  descriptor.addTableName("ADDRESS");
  descriptor.addPrimaryKeyFieldName("ADDRESS.ADDRESS_ID");

  // Descriptor Properties
  descriptor.useSoftCacheWeakIdentityMap();
  descriptor.setIdentityMapSize(100)
  descriptor.useRemoteSoftCacheWeakIdentityMap()
  descriptor.setRemoteIdentityMapSize(100)
  descriptor.setSequenceNumberFieldName("ADDRESS.ADDRESS_ID")
  descriptor.setSequenceNumberName("ADD_SEQ");
  descriptor.setAlias("Address");

  // Mappings
  DirectToFieldMapping cityMapping = new DirectToFieldMapping();
  cityMapping.setAttributeName("city");
  cityMapping.setFieldName("ADDRESS.CITY");
  descriptor.addMapping(cityMapping);

  // Additional mappings are added to the descriptor using the addMapping method

  return descriptor;}

注意:

TopLink Workbenchの使用がカスタム・プロジェクト・クラスの開始点になります。詳細は、19.6.1項「TopLink Workbenchを使用したプロジェクトJavaソースのエクスポート方法」を参照してください。

116.2 プロジェクトの使用

TopLink Workbenchを使用して、次のプロジェクト機能を実行できます。

TopLink Workbenchプロジェクトの使用方法の詳細は、第117章「プロジェクトの構成」を参照してください。

116.2.1 既存のプロジェクトを開く方法

既存プロジェクトを開くには、次の手順を実行します。


注意:

大部分の旧リリースのプロジェクトについては、TopLink Workbenchで開くのみでアップグレードされます。ただし、リリース9.0.3以下のプロジェクトをアップグレードするには、個別のアップグレード手順に従い、パッケージ名変更ツールを使用する必要があります。

詳細は、Oracle TopLinkのリリース・ノートを参照してください。


  1. 「プロジェクトを開く」ボタン
    ツールバーで「プロジェクトを開く」をクリックします。「ファイルの選択」ダイアログ・ボックスが表示されます。また、メニューから「ファイル」「開く」の順に選択して、プロジェクトを開くこともできます。


    注意:

    「ファイル」メニュー・オプションには、最近開いたプロジェクトのリストが含まれます。これらのプロジェクトの1つを選択して開くことができます。このリストのカスタマイズ方法の詳細は、5.4.1項「一般プリファレンスの使用方法」を参照してください。

  2. 開こうとしているTopLink Workbenchプロジェクト・ファイル(.mwp)を選択し、「開く」をクリックします。TopLink Workbenchにより、プロジェクトの情報が表示されます。

    EJB情報を含むTopLink Workbenchバージョン3.nプロジェクトを開く場合、「潜在的なEJBディスクリプタ」ダイアログ・ボックスが表示されます。

    図116-2 「潜在的なEJBディスクリプタ」ダイアログ・ボックス

    図116-2の説明が続きます
    「図116-2 「潜在的なEJBディスクリプタ」ダイアログ・ボックス」の説明

  3. EJBディスクリプタとしてインポートする必要があるディスクリプタ、および「プロジェクトの永続性タイプ」を選択し、「OK」をクリックします。

EJB仕様に準拠するメソッドおよび属性が現在のクラス・ディスクリプタ内にない場合は、これらをTopLink Workbenchで生成するかどうかを指定することもできます。

TopLink Workbenchバージョン9.0.3以上のプロジェクトを開く場合、「前のバージョンから新規TopLInk Workbenchプロジェクトを作成」ダイアログ・ボックスが表示されます。

図116-3 「前のバージョンから新規TopLink Workbenchプロジェクトを作成」ダイアログ・ボックス

図116-3の説明が続きます
「図116-3 「前のバージョンから新規TopLink Workbenchプロジェクトを作成」ダイアログ・ボックス」の説明

古いプロジェクトを現行の形式に変換し、プロジェクトをただちに表示するには、「後で保存」をクリックします。

古いプロジェクトを現行の形式に変換し、それを新しい場所に保存してからそのプロジェクトを表示するには、「すぐに保存」をクリックします。

116.2.2 プロジェクトの保存方法

TopLink Workbenchはプロジェクトを自動的に保存しません。データが失われることがないように、プロジェクトを頻繁に保存してください。

プロジェクトを保存するには、次の手順を実行します。

  1. 「選択したプロジェクトの保存」ボタン
    「すべてのプロジェクトの保存」ボタン
    「保存」または「すべて保存」をクリックして、プロジェクトを保存します。

    メニューから「ファイル」「保存」または「ファイル」「すべて保存」の順に選択して、プロジェクトを保存することもできます。

  2. 保存されていない変更がある場合にTopLink Workbenchを閉じると、「プロジェクトの保存」ダイアログ・ボックスが表示されます。

    図116-4 「プロジェクトの保存」ダイアログ・ボックス

    図116-4の説明が続きます
    「図116-4 「プロジェクトの保存」ダイアログ・ボックス」の説明

  3. 保存するプロジェクトを選択して、「OK」をクリックします。

    「すべて選択」をクリックして、使用可能なプロジェクトをすべて選択します。

116.2.2.1 新規の名前および場所によるプロジェクトの保存

異なる名前または場所を使用してプロジェクトを保存するには、次の手順を実行します。

  1. 「別名保存」ボタン
    「ファイル」「別名保存」の順に選択します。「別名保存」ダイアログ・ボックスが表示されます。

    図116-5 「別名保存」ダイアログ・ボックス

    図116-5の説明が続きます
    「図116-5 「別名保存」ダイアログ・ボックス」の説明

  2. 名前と場所を選択してから、「保存」をクリックします。


注意:

TopLink Workbenchを使用せずに.mwpファイル名を変更しないでください。プロジェクトの名前を変更するには、「別名保存」オプションを使用します。

116.2.3 プロジェクト・ステータス・レポートの生成方法

プロジェクト・ステータス・レポートを使用すると、TopLink Workbenchプロジェクトのすべての警告およびエラーのリストが表示されます。このレポートは、問題ウィンドウ(5.3項「TopLink Workbenchの使用」を参照)に類似していますが、エラーをドキュメントまたはメッセージに簡単にコピー、貼付けできる点が異なります。プロジェクト・ステータス・レポートを生成するには、次の手順を実行します。

  1. 「プロジェクト・ステータス・レポート」ボタン
    問題ウィンドウの上にある「問題」ラベルを右クリックして、「問題の報告」を選択します。「プロジェクト・ステータス・レポート」ダイアログ・ボックスが表示され、各TopLink Workbenchプロジェクトのステータスが表示されます。

    メニューから「ツール」「問題の報告」の順に選択して、プロジェクト・ステータス・レポートを生成することもできます。

    図116-6 「問題の報告」ダイアログ・ボックス

    図116-6の説明が続きます
    「図116-6 「問題の報告」ダイアログ・ボックス」の説明

レポートされた各エラーの情報は、A.3項「TopLink Workbenchエラー参照」を参照してください。

レポートを別のアプリケーションにコピーするには、「コピー」をクリックします。

116.3 プロジェクト情報のエクスポート

実行時にプロジェクトをTopLink Foundation Libraryとともに使用するには、デプロイXMLを生成するか、またはプロジェクトをJavaソース・コードにエクスポートする必要があります。

すべてのプロジェクト・タイプにおいて、TopLink Workbenchにより、次のようなプロジェクト情報の生成およびエクスポートを行えます。


注意:

JavaソースおよびデプロイXMLをエクスポートする際、TopLink Workbenchは、Java Cryptography Extension(JCE)の暗号化機能を使用して、データベース・パスワードを書き込みます(該当する場合)。パスワード暗号化オプションの指定方法の詳細は、97.3項「パスワード暗号化の構成」を参照してください。

116.3.1TopLink Workbenchを使用したデプロイXML情報のエクスポート方法

デプロイXMLファイル(project.xml)をエクスポートするには、次の手順を実行します(詳細は、第9章「デプロイ用TopLinkファイルの作成」を参照)。

  1. デプロイXMLのエクスポート・ボタン
    プロジェクトを選択し、「デプロイXMLのエクスポート」をクリックします。

    ナビゲータでプロジェクトを右クリックしてコンテキスト・メニューから「エクスポート」「プロジェクト配布XML」を選択するか、またはメニューから「選択」「エクスポート」「プロジェクト配布XML」を選択することもできます。

    デプロイおよびソース・コード生成のデフォルト(第117章「プロジェクトの構成」を参照)が未定義の場合は、TopLink Workbenchによりファイル名およびディレクトリの入力が求められます。


注意:

プロジェクトにエラーが含まれる場合は、project.xmlは無効なものになります。レポートされた各エラーの情報は、A.3項「TopLink Workbenchエラー参照」を参照してください。

このリリースより前のプロジェクトと互換性のあるデプロイXMLファイルを生成するには、20.11項「推奨されないダイレクト・マッピングの構成」を参照してください。

116.3.2 TopLink Workbenchを使用したモデルJavaソースのエクスポート方法

プロジェクト・モデルのJavaソース・コードを生成するには、次の手順を実行します。

  1. ナビゲータでプロジェクト、パッケージまたは特定のディスクリプタを右クリックし、そのコンテキスト・メニューから「エクスポート」「モデルJavaソースのエクスポート」の順に選択します。TopLink Workbenchは、選択したディスクリプタごとに.javaファイルを作成します。

    あるいは、メニューから「Workbench」「エクスポート」「モデルJavaソースのエクスポート」または「選択」「エクスポート」「モデルJavaソース」を選択するか、または「クラス」タブで「ソース・コードの生成」をクリックします。詳細は、5.7.2.1項「クラス情報の構成」を参照してください。

  2. 「ソース・コードの生成」をクリックして、プロジェクトのモデルJavaソースを生成します。

デプロイおよびソース・コード生成のデフォルト(第117章「プロジェクトの構成」を参照)が未定義の場合は、TopLink Workbenchによりルート・ディレクトリの入力が求められます。


注意:

TopLink WorkbenchプロジェクトでUTF-8キャラクタ・セットを使用する場合は、エクスポートされたJavaソースをコンパイルする際に、互換性のあるJDKを使用する必要があります。