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

戻る
戻る
 
次へ
次へ
 

13 TopLinkアプリケーションのカスタマイズ

TopLinkアプリケーションのカスタマイズでは、カスタム・データ・タイプの作成からEclipseLink JPA拡張機能の使用まで、様々な方法を使用できます。

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

13.1 カスタマイズの概要

TopLinkは、様々なリレーショナル・データ・ソースおよび非リレーショナル・データ・ソースに適応するように設計されています。

TopLink APIで直接サポートされていないデータ・ソースをTopLinkと統合するには、EISプロジェクト(第71章「EISプロジェクトの概要」を参照)またはXMLプロジェクト(第47章「XMLプロジェクトの概要」を参照)を使用することをお薦めします。

EISプロジェクトを使用すると、JCAアダプタをサポートする非リレーショナル・データ・ソース、および索引付き、マップ済またはXMLなどのサポートされているEISレコード・タイプをTopLink対応のアプリケーションに統合できます。ターゲット・データ・ソース用のJCAアダプタが存在しない場合は、統合の際にアダプタの作成に専念できます。同時に、JCA仕様に準拠したアプリケーションを構築できます。これにはカスタム開発も必要ですが、TopLinkクラスを拡張するよりも効率的です。また、これによりその他の任意のプロジェクトでも活用できるJCAアダプタを提供し、プロジェクトの価値を高めます。

XMLプロジェクトを使用すると、TopLink対応のアプリケーションとWebサービスまたはその他のXMLメッセージ・ベースの設計を統合できます。

この章では、TopLink APIが提供するその他のカスタマイズ・オプションについても説明します。

13.2 カスタム・データ・タイプの作成

TopLinkでは、最も一般的なJavaデータ・タイプをすべてサポートします。表13-1では、カスタム・データ・タイプのサポートに使用できるTopLinkマッピング拡張機能をリストします。また、データ・タイプと独自のJavaタイプの間で変換が可能なオブジェクト・コンバータも作成できます。

表13-1 カスタム・データ・タイプのマッピング拡張機能

拡張機能 説明

オブジェクト・タイプ・コンバータ(17.2.6.3項「オブジェクト・タイプ・コンバータ」を参照)

一定数のデータ値をJavaオブジェクトと対応させる、ダイレクト・マッピングおよびダイレクト・コレクション・マッピングの拡張機能。スキーマの値がJavaの値と異なるときに、このコンバータを使用します。

シリアライズ・オブジェクト・コンバータ(17.2.6.1項「シリアライズ・オブジェクト・コンバータ」を参照)

マルチメディア・データなどのシリアライズ可能なオブジェクトを、XML文書またはデータベースのバイナリ・ラージ・オブジェクト(BLOB)フィールドのBASE64要素などのデータ・ソースのバイナリ形式にマップできる、ダイレクト・マッピングおよびダイレクト・コレクション・マッピングの拡張機能。

タイプ変換コンバータ(17.2.6.2項「タイプ変換コンバータ」を参照)

データ・ソース・タイプをJavaタイプに明示的に対応させる、ダイレクト・マッピングおよびダイレクト・コレクション・マッピングの拡張機能。たとえば、Javaのjava.util.Dateをデータ・ソースのjava.sql.Dateにマップできます。

シンプル・タイプ・トランスレータ(17.2.6.4項「シンプル・タイプ・トランスレータ」を参照)

XMLスキーマで定義した要素の<type>属性に基づいて、XML要素の値を該当するJavaタイプに自動的に変換する、ダイレクト・マッピングおよびダイレクト・コレクション・マッピングの拡張機能。


13.3 パブリック・ソースの使用

ほとんどのパブリック・クラスのソース・コードは、<TOPLINK_HOME>\jlib\toplink-src.zipで使用可能です。

これは、デバッグ目的のために提供されます。

13.4 セッション・カスタマイザ・クラスの使用

セッション・カスタマイザを指定することで、実行時のセッションのカスタマイズができます。セッション・カスタマイザはJavaクラスの1つで、oracle.toplink.tools.sessionconfiguration.SessionCustomizerインタフェースを実装します。

詳細は、次を参照してください。

13.5 ディスクリプタ・カスタマイザ・クラスの使用

ディスクリプタ・カスタマイザを指定することで、実行時のディスクリプタのカスタマイズができます。ディスクリプタ・カスタマイザはJavaクラスの1つで、oracle.toplink.tools.sessionconfiguration.DescriptorCustomizerインタフェースを実装します。

詳細は、次を参照してください。

13.6 ディスクリプタ修正メソッドの使用

ディスクリプタのカスタマイズには、ディスクリプタ修正メソッドを使用できます。

詳細は、次を参照してください。

13.7 EclipseLink JPA拡張機能の使用

EclipseLink JPAアプリケーションを開発している場合は、EclipseLink JPAのメタデータ注釈およびXML拡張機能を使用してカスタマイズを行います。

詳細は、『EclipseLink Developer's Guide』の「Using EclipseLink JPA Extensions」(http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29)を参照してください。