この章では、TopLinkプロジェクトの作成方法について説明します。
この章の内容は次のとおりです。
使用可能な様々なプロジェクト・タイプの詳細は、15.1項「TopLinkプロジェクト・タイプ」を参照してください。
プロジェクトは、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を使用したプロジェクトの作成方法」を参照してください。
Oracle JDeveloperを使用してTopLinkプロジェクトを作成する場合、マッピング情報は、TopLinkマップに格納されます。TopLinkマップには、クラスがデータベース表にどのようにマップされるかに関する情報が含まれています。TopLinkエディタを使用して、次のようなマッピングの各コンポーネントを編集します。
ドライバ、URL、ログイン情報などのデータベース情報
アイデンティティ・マップ・オプション、キャッシュ・オプションなどのマッピングのデフォルト設定
Oracle JDeveloperのTopLinkエディタは次のプロジェクト・タイプをサポートします。
リレーショナル・プロジェクト
XMLプロジェクト
EISプロジェクト
TopLink Workbenchを使用してプロジェクトを作成する場合は、すべてのプロジェクト情報は、プロジェクト・ファイル( .mwp
ファイル)に格納されます。このファイルは、Javaクラスがデータベース表またはXML要素にマップする方法についての情報を含む追加のXMLデータファイルを参照します。
TopLink Workbenchを使用して、TopLinkランタイムによって読み取られるTopLinkプロジェクトXMLファイル(つまり、デプロイXMLファイル)としてこの情報をエクスポートできます。また、この情報をJavaクラスとしてエクスポートすることもできます。詳細は、116.3項「プロジェクト情報のエクスポート」を参照してください。
TopLink Workbenchは、プロジェクトおよびその内容をナビゲータ・ウィンドウに表示します。プロジェクトを選択すると、その属性がエディタ・ウィンドウに表示されます。詳細は、5.3.3項「ナビゲータの使用方法」を参照してください。TopLink Workbenchは次のプロジェクト・タイプをサポートします。
リレーショナル・プロジェクト
XMLプロジェクト
EISプロジェクト
この項では、新規TopLink Workbenchプロジェクトの作成について説明します。既存の永続アプリケーション(OC4Jなど)から新規プロジェクトを作成する場合は、第8章「TopLinkとアプリケーション・サーバーの統合」を参照してください。JAXBから新規プロジェクトを作成する場合は、47.1.1項「TopLinkによるJava Architecture for XML Binding(JAXB)のサポート」を参照してください。
新規TopLink Workbenchプロジェクトを作成するには、次の手順を実行します。
ツールバーの「新規」をクリックして「プロジェクト」を選択します。「新規TopLink Workbenchプロジェクトの作成」ダイアログ・ボックスが表示されます。
メニューから「ファイル」→「新規」→「プロジェクト」の順に選択して、新規プロジェクトを作成することもできます。
図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プロジェクトの概要」を参照してください。 |
プロジェクトについては、続いて次の操作があります。
プロジェクトを構成します(第117章「プロジェクトの構成」を参照)。
マッピングおよびディスクリプタを追加します(第16章「ディスクリプタの概要」および第17章「マッピングの概要」を参照)。
TopLinkランタイムで使用するためにプロジェクトをエクスポートします(116.3項「プロジェクト情報のエクスポート」を参照)。
Javaコードを使用してプロジェクトを作成するには、次の手順を実行します。
oracle.toplink.sessions.Project
クラスを拡張するプロジェクト・クラスを実装します(例116-1を参照)。
プロジェクト・クラスをコンパイルします。
例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ソースのエクスポート方法」を参照してください。 |
TopLink Workbenchを使用して、次のプロジェクト機能を実行できます。
TopLink Workbenchプロジェクトの使用方法の詳細は、第117章「プロジェクトの構成」を参照してください。
ツールバーで「プロジェクトを開く」をクリックします。「ファイルの選択」ダイアログ・ボックスが表示されます。また、メニューから「ファイル」→「開く」の順に選択して、プロジェクトを開くこともできます。
注意: 「ファイル」メニュー・オプションには、最近開いたプロジェクトのリストが含まれます。これらのプロジェクトの1つを選択して開くことができます。このリストのカスタマイズ方法の詳細は、5.4.1項「一般プリファレンスの使用方法」を参照してください。 |
開こうとしているTopLink Workbenchプロジェクト・ファイル(.mwp
)を選択し、「開く」をクリックします。TopLink Workbenchにより、プロジェクトの情報が表示されます。
EJB情報を含むTopLink Workbenchバージョン3.nプロジェクトを開く場合、「潜在的なEJBディスクリプタ」ダイアログ・ボックスが表示されます。
EJBディスクリプタとしてインポートする必要があるディスクリプタ、および「プロジェクトの永続性タイプ」を選択し、「OK」をクリックします。
EJB仕様に準拠するメソッドおよび属性が現在のクラス・ディスクリプタ内にない場合は、これらをTopLink Workbenchで生成するかどうかを指定することもできます。
TopLink Workbenchバージョン9.0.3以上のプロジェクトを開く場合、「前のバージョンから新規TopLInk Workbenchプロジェクトを作成」ダイアログ・ボックスが表示されます。
図116-3 「前のバージョンから新規TopLink Workbenchプロジェクトを作成」ダイアログ・ボックス
古いプロジェクトを現行の形式に変換し、プロジェクトをただちに表示するには、「後で保存」をクリックします。
古いプロジェクトを現行の形式に変換し、それを新しい場所に保存してからそのプロジェクトを表示するには、「すぐに保存」をクリックします。
TopLink Workbenchはプロジェクトを自動的に保存しません。データが失われることがないように、プロジェクトを頻繁に保存してください。
プロジェクトを保存するには、次の手順を実行します。
「保存」または「すべて保存」をクリックして、プロジェクトを保存します。
メニューから「ファイル」→「保存」または「ファイル」→「すべて保存」の順に選択して、プロジェクトを保存することもできます。
保存されていない変更がある場合にTopLink Workbenchを閉じると、「プロジェクトの保存」ダイアログ・ボックスが表示されます。
保存するプロジェクトを選択して、「OK」をクリックします。
「すべて選択」をクリックして、使用可能なプロジェクトをすべて選択します。
異なる名前または場所を使用してプロジェクトを保存するには、次の手順を実行します。
「ファイル」→「別名保存」の順に選択します。「別名保存」ダイアログ・ボックスが表示されます。
名前と場所を選択してから、「保存」をクリックします。
プロジェクト・ステータス・レポートを使用すると、TopLink Workbenchプロジェクトのすべての警告およびエラーのリストが表示されます。このレポートは、問題ウィンドウ(5.3項「TopLink Workbenchの使用」を参照)に類似していますが、エラーをドキュメントまたはメッセージに簡単にコピー、貼付けできる点が異なります。プロジェクト・ステータス・レポートを生成するには、次の手順を実行します。
問題ウィンドウの上にある「問題」ラベルを右クリックして、「問題の報告」を選択します。「プロジェクト・ステータス・レポート」ダイアログ・ボックスが表示され、各TopLink Workbenchプロジェクトのステータスが表示されます。
メニューから「ツール」→「問題の報告」の順に選択して、プロジェクト・ステータス・レポートを生成することもできます。
レポートされた各エラーの情報は、A.3項「TopLink Workbenchエラー参照」を参照してください。
レポートを別のアプリケーションにコピーするには、「コピー」をクリックします。
実行時にプロジェクトをTopLink Foundation Libraryとともに使用するには、デプロイXMLを生成するか、またはプロジェクトをJavaソース・コードにエクスポートする必要があります。
すべてのプロジェクト・タイプにおいて、TopLink Workbenchにより、次のようなプロジェクト情報の生成およびエクスポートを行えます。
デプロイ情報(116.3.1項「TopLink Workbenchを使用したデプロイXML情報のエクスポート方法」を参照)(project.xml
ファイル)
モデルJavaソース(116.3.2項「TopLink Workbenchを使用したモデルJavaソースのエクスポート方法」を参照)
注意: JavaソースおよびデプロイXMLをエクスポートする際、TopLink Workbenchは、Java Cryptography Extension(JCE)の暗号化機能を使用して、データベース・パスワードを書き込みます(該当する場合)。パスワード暗号化オプションの指定方法の詳細は、97.3項「パスワード暗号化の構成」を参照してください。 |
デプロイXMLファイル(project.xml
)をエクスポートするには、次の手順を実行します(詳細は、第9章「デプロイ用TopLinkファイルの作成」を参照)。
プロジェクトを選択し、「デプロイXMLのエクスポート」をクリックします。
ナビゲータでプロジェクトを右クリックしてコンテキスト・メニューから「エクスポート」→「プロジェクト配布XML」を選択するか、またはメニューから「選択」→「エクスポート」→「プロジェクト配布XML」を選択することもできます。
デプロイおよびソース・コード生成のデフォルト(第117章「プロジェクトの構成」を参照)が未定義の場合は、TopLink Workbenchによりファイル名およびディレクトリの入力が求められます。
注意: プロジェクトにエラーが含まれる場合は、project.xml は無効なものになります。レポートされた各エラーの情報は、A.3項「TopLink Workbenchエラー参照」を参照してください。 |
このリリースより前のプロジェクトと互換性のあるデプロイXMLファイルを生成するには、20.11項「推奨されないダイレクト・マッピングの構成」を参照してください。
プロジェクト・モデルのJavaソース・コードを生成するには、次の手順を実行します。
ナビゲータでプロジェクト、パッケージまたは特定のディスクリプタを右クリックし、そのコンテキスト・メニューから「エクスポート」→「モデルJavaソースのエクスポート」の順に選択します。TopLink Workbenchは、選択したディスクリプタごとに.java
ファイルを作成します。
あるいは、メニューから「Workbench」→「エクスポート」→「モデルJavaソースのエクスポート」または「選択」→「エクスポート」→「モデルJavaソース」を選択するか、または「クラス」タブで「ソース・コードの生成」をクリックします。詳細は、5.7.2.1項「クラス情報の構成」を参照してください。
「ソース・コードの生成」をクリックして、プロジェクトのモデルJavaソースを生成します。
デプロイおよびソース・コード生成のデフォルト(第117章「プロジェクトの構成」を参照)が未定義の場合は、TopLink Workbenchによりルート・ディレクトリの入力が求められます。
注意: TopLink WorkbenchプロジェクトでUTF-8キャラクタ・セットを使用する場合は、エクスポートされたJavaソースをコンパイルする際に、互換性のあるJDKを使用する必要があります。 |