TopLinkでは、永続クラスがユーザーに表示されるクラスと同じではない場合にラッパー(またはプロキシ)を使用できます。
たとえば、Enterprise JavaBeans仕様では、Entity Beanクラス(javax.ejb.EntityBean
を実装するクラス)は永続クラスですが、javax.ejb.EJBObject
を実装するクラス(リモート・インタフェース・クラス)と対話するユーザーには表示されません。この例では、EJBObject
はEntityBean
のプロキシまたはラッパーとして機能します。
このようなラッパーが使用される場合、ディスクリプタで指定されているクラスが永続クラスのまま作成されますが、永続オブジェクトが要求されると常に適切なラッパーのインスタンスが返されます。
特定の永続クラスのラッパーの作成方法、および指定されたラッパー・インスタンスからの基礎となる永続オブジェクトの取得方法を指定するには、ラッパー・ポリシーを使用します。
ラッパー・ポリシーを指定した場合、永続オブジェクトをラップおよびアンラップするためポリシーが必要に応じて使用されます。
oracle.toplink.descriptors.WrapperPolicy
を実装します。
Copyright © 1997, 2006, Oracle. All rights reserved.