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

第3部 EJB編> 第26章 Entity Bean編> 26.10 Entity Beanの呼出し方法> 26.10.2 検索処理の記述

26.10.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 );
    }

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

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


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

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