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

第3部 EJB編> 第15章 EJBアプリケーションの呼出し方法> 15.2 Entity Beanの呼出し方法> 15.2.2 検索処理の記述

15.2.2.3 複数インスタンス検索の記述例(collection インタフェースの場合)

■記述する処理概要

  1. 呼び出すEntity Beanのlookup処理を行い、EJB homeを取得する。
  2. find<METHOD>メソッドを呼び出し、プライマリキーオブジェクトを取得する。
  3. ビジネスメソッドを呼び出す。

■記述例

--------------------------------------------------------------------------------
       (lookup処理でEJB homeの取得)
                                   :
    Collection enum = null;
    try {
        // find<METHOD>の呼出し
        enum = etyHome.findByKey2(empEV);
    } catch ( FinderException ex ) {
        throw new UserException( ex.getMessage() );
    } catch ( RemoteException ex ) {
        throw new EJBException( ex.getMessage() );
    }

    if ( enum == null ) {
        examDebug( "## EmployeeCBM : empSearchN2() record not found" );
        return null;
    }

    int count = 0;
    Vector vec = new Vector();
    EmployeeEntityRemote etyRemote = null;
    Iterator iterator = enum.iterator();

    java.lang.Object obj = null;
    while( iterator.hasNext() ) {
        EmployeeEV view = new EmployeeEV();
        obj = iterator.next();
        etyRemote =
        (EmployeeEntityRemote)javax.rmi.PortableRemoteObject.narrow(obj,EmployeeEntityRemote.class
        );
        // ビジネスメソッド/抽象アクセッサメソッド(getId,getName,getDept,getAge)の呼出し
        view.setId(etyRemote.getId());
        view.setName(etyRemote.getName());
        view.setDept(etyRemote.getDept());
        view.setAge(etyRemote.getAge());
        count++;
        vec.addElement( view );
    }

                                   :
--------------------------------------------------------------------------------


 以下の[条件]に当てはまらない場合、finderメソッドから返却されるCollectionインタフェースで、以下の[使用できないメソッド]は使用できません。使用した場合には、java.lang.UnsupportedOperationExceptionが返却されます。

 [条件]

 [使用できないメソッド]

 トランザクション属性の設定について詳細は、“トランザクション管理種別とトランザクション属性”を参照してください。

 また、sizeメソッドについては以下の場合には使用できません。使用した場合にはjava.lang.UnsupportedOperationExceptionが返却されます。


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

Copyright 2008 FUJITSU LIMITED