BMPの場合
オブジェクト操作 | コンテナから呼び出されるEntity Beanのメソッド | Entity Beanのメソッドで行うデータベースの操作 |
---|---|---|
インスタンスの生成
| ejbCreate() | インスタンスに対応する行を表へINSERT |
ejbPostCreate() | なし | |
インスタンスの消去
| ejbActivate() | なし |
ejbLoad() | インスタンスに対応する行を表からSELECT | |
ejbRemove() | インスタンスに対応する行を表からDELETE | |
インスタンスのプライマリキー値による検索
| ejbFindByPrimaryKey() | プライマリキー値を検索条件として表からSELECT |
インスタンスの条件値による検索
| ejbFind<METHOD>() | 条件値を検索条件として表から1~複数のプライマリキーをSELECT |
ejbHomeメソッドの呼出し | ejbActivate() | なし |
ejbHome<METHOD>() | 任意 | |
ejbPassivate() | なし | |
ビジネスメソッドの呼出し | ejbActivate() | なし |
ejbLoad() | インスタンスに対応する行を表からSELECT | |
ビジネスメソッド() | なし | |
トランザクションのコミット
| ejbStore() | インスタンスの変更がある場合は、表中の対応する行をUPDATE |
ejbPassivate() | なし | |
トランザクションのロールバック
| ejbPassivate() | なし |
CMP1.1の場合
オブジェクト操作 | コンテナから呼び出されるEntity Beanのメソッド | Entity Beanのメソッドで行うデータベースの操作 |
---|---|---|
インスタンスの生成
| ejbCreate() | なし |
ejbPostCreate() | なし | |
インスタンスの消去
| ejbActivate() | なし |
ejbLoad() | なし | |
ejbRemove() | なし | |
インスタンスのプライマリキー値による検索
| ejbActivate() | なし |
ejbLoad() | なし | |
インスタンスの条件値による検索
| ejbActivate() | なし |
ejbLoad() | なし | |
ビジネスメソッドの呼出し | ejbActivate() | なし |
ejbLoad() | なし | |
ビジネスメソッド() | なし | |
トランザクションのコミット
| ejbStore() | なし |
ejbPassivate() | なし | |
トランザクションのロールバック
| ejbPassivate() | なし |
CMP2.0の場合
オブジェクト操作 | コンテナから呼び出されるEntity Beanのメソッド | Entity Beanのメソッドで行うデータベースの操作 |
---|---|---|
インスタンスの生成
| ejbCreate() | なし |
ejbPostCreate() | なし | |
インスタンスの消去
| ejbActivate() | なし |
ejbLoad() | なし | |
ejbRemove() | なし | |
インスタンスのプライマリキー値による検索
| ejbActivate() | なし |
ejbLoad() | なし | |
インスタンスの条件値による検索
| ejbActivate() | なし |
ejbLoad() | なし | |
ejbHomeメソッドの呼出し | ejbActivate() | なし |
ejbHome<METHOD>() | なし | |
ejbPassivate() | なし | |
抽象アクセッサメソッドの呼出し | ejbActivate() | なし |
ejbLoad() | なし | |
ejbSelectメソッドの呼出し | ejbActivate() | なし |
ejbLoad() | なし | |
ビジネスメソッドの呼出し | ejbActivate() | なし |
ejbLoad() | なし | |
ビジネスメソッド() | なし | |
トランザクションのコミット
| ejbStore() | なし |
ejbPassivate() | なし | |
トランザクションのロールバック
| ejbPassivate() | なし |
上記以外に、以下の場合にはejbPassivateメソッドが呼び出されることがあります。
インスタンスを活性化した後にエラーや例外が発生した場合
メソッド実行時にインスタンスを活性化したが、同一のプライマリキーを持つインスタンスがすでに活性化されていた場合
活性化されたインスタンス数が初期起動インスタンス数に達し、コンテナがEJB objectとインスタンスの切離し(非活性化)が必要と判断した場合