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

第3部 EJB編> 第13章 Entity Beanの実装> 13.6 BMPのEnterprise Beanクラスの作成

13.6.6 ejbFind<METHOD>メソッドの記述

 ejbFind<METHOD>メソッドは、プライマリキーを返却するメソッドです。複数のプライマリキーを返却できます。

 Entity Beanを呼び出すEJBアプリケーションがfind<METHOD>メソッドを呼び出すと、コンテナはfind<METHOD>メソッドに対応するejbFind<METHOD>メソッドを呼び出します。

■ 記述する処理の概要

 ejbFind<METHOD>メソッドには、以下の処理を記述します。引数には、任意の検索キーを指定します。

 また、複数のプライマリキーを返却するメソッドで検索結果が0件の場合、要素が0個のEnumerationやCollectionを返却するようにしてください。

■ ejbFind<METHOD>メソッドの規約

 ejbFind<METHOD>メソッドは以下の規約を満たしていなければなりません。

■ 記述例

public Enumeration ejbFindSampleBigCode(Integer bigcode)
                     throws javax.ejb.FinderException, javax.ejb.EJBException
    {
        Connection connection = null;
        PreparedStatement psSelect = null;
        ResultSet rs = null;
        int rows = 0;
        SampleBeanPrimaryKey pk = null;
        Vector v = new Vector();
        try
        {
            // プライマリキーの検索
            connection = dataSource.getConnection();
            psSelect = connection.prepareStatement("SELECT ID FROM SAMPLESCM.SAMPLETBL WHERE ID > ?");
            psSelect.setObject(1,bigcode);
            rs = psSelect.executeQuery();
            while(rs.next())
            {
                rows++;
                // プライマリキーオブジェクトの作成
                pk = new SampleBeanPrimaryKey();
                pk.code = new Integer(rs.getInt(1));
                v.addElement(pk);
            }
        }
        catch(SQLException e)
        {
            throw new EJBException(e.getMessage());
        }
        finally
        {
            try
            {
                if (rs != null)
                    rs.close();
                if (psSelect != null)
                    psSelect.close();
                if (connection != null)
                    connection.close();
            }
            catch(Exception e) {}
        }

        return v.elements();
    }

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

Copyright 2008 FUJITSU LIMITED