コンテナがデータベースにデータを追加するときに呼び出すメソッドです。
Entity Beanを呼び出すEJBアプリケーションがcreateメソッドを呼び出すと、コンテナはcreateメソッドに対応するejbCreateメソッドを呼び出します。コンテナはejbCreateメソッドが完了すると、データベースに対してINSERT文を発行し、ejbPostCreateメソッドを呼び出します。
記述する処理の概要
ejbCreateメソッドには、以下の処理を記述します。
永続化フィールドを入力引数で初期化する処理
ejbPostCreateメソッドには通常、処理を記述する必要はありません。
ejbCreateメソッドの規約
ejbCreateメソッドは以下の規約を満たしていなければなりません。
メソッド名はejbCreateでなければなりません。
メソッドはpublicとして定義されていなければなりません。
返却値はプライマリキータイプでなければなりません。
メソッドの引数は、RMI over IIOPの規約に従わなくてはなりません。
また、引数のタイプと数はHomeインタフェースのcreateメソッドに一致していなければなりません。
throws句には以下の例外を定義できます。
任意のEJBアプリケーション固有の例外
javax.ejb.EJBException
javax.ejb.CreateException
javax.ejb.DuplicateKeyException
ejbPostCreateメソッドの規約
ejbPostCreateメソッドは以下の規約を満たしていなければなりません。
メソッド名はejbPostCreateでなければなりません。
メソッドはpublicとして定義されていなければなりません。
返却値はvoidでなければなりません。
メソッド引数は、対応するejbCreateメソッドの引数と同じでなければなりません。
throws句には以下の例外を定義できます。
任意のEJBアプリケーション固有の例外
javax.ejb.EJBException
javax.ejb.CreateException
javax.ejb.DuplicateKeyException
記述例
public SampleBeanPrimaryKey ejbCreate(Integer codeValue, String nameValue, String descValue) throws javax.ejb.EJBException { // 永続化フィールドを入力引数の値で初期化 code = codeValue; name = nameValue; desc = descValue; return( null ); } public void ejbPostCreate(Integer codeValue, String nameValue, String descValue) throws javax.ejb.EJBException { }