ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

15.2.5 削除処理の記述

Entity Beanのインスタンスを削除するときのEntity Beanを呼び出すアプリケーション、コンテナおよびEnterprise Beanクラス間の処理の流れとEntity Beanを呼び出すアプリケーションの記述例について説明します。

処理の流れ

Entity Beanのインスタンスを削除するときの処理の流れを示します。
以下の例はBMPのEntity Beanです。CMPはデータベースアクセス処理をコンテナが行いますが、処理の流れは同じです。



  1. 呼出し元のアプリケーションから、findByPrimarykeyメソッドを呼び出します。
    findByPrimarykeyメソッドが発行されると、コンテナからEnterprise BeanクラスのejbFindByPrimaryKeyメソッドが呼び出され、ejbFindByPrimaryKeyに記述したSELECT文を実行し、プライマリキーオブジェクトを作成、返却します。

  2. 呼出し元のアプリケーションから、removeメソッドを呼び出します。
    removeメソッドが呼び出されると、コンテナが以下の処理を行います。

    • Enterprise BeanクラスのejbActivateメソッドを呼び出す。

    • Enterprise BeanクラスのejbLoadメソッドを呼び出す。ejbLoadメソッドに記述したSELECT文が実行され、永続化フィールドにデータを設定する。

    • Enterprise BeanクラスのejbRemoveメソッドを呼び出す。ejbRemoveメソッドに記述したDELETE文が実行され、データを削除する。

削除処理の記述例

記述する処理概要
  1. 呼び出すEntity Beanのlookup処理を行い、EJB homeを取得する。

  2. findByPrimaryKeyメソッドを呼び出し、プライマリキーオブジェクトを取得する。

  3. removeメソッドを呼び出す。

記述例
       (lookup処理でEJB homeの取得)
                                   :
    EmployeeEntityRemote etyRemote = null;
    EmployeeEntityPrimaryKey pk = new EmployeeEntityPrimaryKey();
    pk.ID = empEV.getId();
    try {
        etyRemote = etyHome.findByPrimaryKey(pk);
    } catch ( FinderException ex ) {
        throw new UserException( ex.getMessage() );
    } catch ( RemoteException ex ) {
        throw new EJBException( ex.getMessage() );
    }

    try {
        etyRemote.remove();
    } catch ( RemoveException ex ) {
        throw new UserException( ex.getMessage() );
    } catch ( RemoteException ex ) {
        throw new EJBException( ex.getMessage() );
    }
                                   :