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

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
  {
  }