Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第26章 Entity Bean編

26.9 Primary Keyクラスを作成する

 Primary Keyクラスは、Entity Beanのインスタンスの識別子となるクラスで、特定のインスタンスを検索するのに使用されます。

 Apworksを使用している場合は、自動的に生成されます。

■ Primary Keyクラスの規約

 Primary Keyクラスは以下の規約を満たしていなければなりません。

■ 記述する処理

  1. プライマリキー値を格納する変数を記述します。複数記述することも可能です。
  2. パラメタなしの空コンストラクタを記述します。
  3. equalsメソッドを記述します。引数で渡されるPrimary Keyオブジェクトと同じものかどうか判定します。
  4. hashcodeメソッドを記述します。プライマリキー値のhashcodeを返却します。

■equalsメソッドとhashcodeメソッド

 equalsメソッドとhashcodeメソッドには以下のような特徴があります。

メソッド定義時の注意事項

■ CMPでプライマリキーのフィールドが1つの場合

 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フィールド名”にはフィールド名を指定してください。


下へ26.9.1 CMPの記述例

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2006