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

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

13.6.4 ejbCreateメソッドおよびejbPostCreateメソッドの記述

 コンテナがデータベースにデータを追加するときに呼び出すメソッドです。

 Entity Beanを呼び出すEJBアプリケーションがcreateメソッドを呼び出すと、コンテナはcreateメソッドに対応するejbCreateメソッドを呼び出します。ejbPostCreateメソッドは、ejbCreateメソッドが呼び出された後コンテナによって呼び出されます。

■ 記述する処理の概要

 一般的に、ejbCreateメソッドには、以下の処理を記述します。

 ejbPostCreateメソッドには通常、処理を記述する必要はありません。

■ ejbCreateメソッドの規約

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

■ ejbPostCreateメソッドの規約

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

■ 記述例

public SampleBeanPrimaryKey ejbCreate(Integer codeValue,
                                           String nameValue, 
                                           String descValue) 
                    throws javax.ejb.CreateException, javax.ejb.EJBException
    {
        // 永続化フィールドの初期化
        code = codeValue;
        name = nameValue;
        desc = descValue;
        Connection connection = null;
        PreparedStatement psInsert = null;
        int rows = 0;
        try
        {
            // データベースへレコードを追加する
            connection = dataSource.getConnection();
            psInsert = connection.prepareStatement(
                       "INSERT INTO SAMPLESCM.SAMPLETBL(ID,NAME,DESC) VALUES(?,?,?)");
            psInsert.setObject(1,code);
            psInsert.setString(2,name);
            psInsert.setString(3,desc);
            rows = psInsert.executeUpdate();
        }
        catch(SQLException e)
        {
            throw new EJBException(e.getMessage());
        }
        finally
        {
            try
            {
                if (psInsert != null)
                    psInsert.close();
                if (connection != null)
                    connection.close();
            }
            catch(Exception e) {}
        }
        // プライマリキーオブジェクトの作成
        SampleBeanPrimaryKey pk = new SampleBeanPrimaryKey();
        pk.code = code;
        return pk;
    }

public void ejbPostCreate(Integer codeValue, String nameValue, String descValue)
           throws javax.ejb.CreateException, javax.ejb.EJBException
    {
    }

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

Copyright 2008 FUJITSU LIMITED