Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]() ![]() |
第3部 EJB編 | > 第26章 Entity Bean編 |
Primary Keyクラスは、Entity Beanのインスタンスの識別子となるクラスで、特定のインスタンスを検索するのに使用されます。
Apworksを使用している場合は、自動的に生成されます。
Primary Keyクラスは以下の規約を満たしていなければなりません。
equalsメソッドとhashcodeメソッドには以下のような特徴があります。
コンテナがインスタンスを検索する際に、プライマリキーの値が同一かを判断するために実行します。
また、EJBObjectクラスのisIdenticalメソッドを実行した際に実行されます。
equalsメソッドを実行する前に、インスタンスの絞り込みを行うためのメソッドです。異なるインスタンスに対してできるだけ異なる値を返却するようにhashcodeメソッドを定義しておくと、コンテナがインスタンスを検索する際の性能を向上させることができます。
CMPでプライマリキーのフィールドが1つの場合で、フィールドが以下の型の場合には、Primary Keyクラスを作成しないことも可能です。
この場合、通常はPrimary Keyクラスを指定するHomeインタフェースのcreateメソッドやfindByPrimaryKeyメソッドなどの引数には以下のように、プライマリキーのフィールドを指定します。
例)プライマリキーがString型の場合
---------------------------------------------------------------------------------------
public SampleRemote create(String pkField) throws javax.ejb.DuplicateKeyException, javax.ejb.CreateException, java.rmi.RemoteException;
public SampleRemote findByPrimaryKey(String pkValue) throws javax.ejb.FinderException, javax.ejb.ObjectNotFoundException, java.rmi.RemoteException;
---------------------------------------------------------------------------------------
また、deployment descriptorの“Primary Keyクラス名”にはプライマリキーのフィールドの型(java.lang.Stringなど)を指定し、“Primary Keyフィールド名”にはフィールド名を指定してください。
目次
索引
![]() ![]() |