ここでは以下の3つのEntitiyBeanを作成します。
注意
このチュートリアルの手順でEntityBeanを作成するには、あらかじめデータベースにテーブルが作成されており、開発環境からアクセスできるようになっている必要があります。
Symfoware(R) Serverを使用してデータベースを登録する手順は、以下に記載されています。
以下の手順は、開発環境からデータベースのテーブルにアクセスできるようになったあとで実施してください。
また、プロジェクトのビルドパスに[Symfoware JDBCドライバインストールフォルダ]\lib\fjsymjdbc2.jarが必要です。
Interstage Studioの[ファイル]メニューの[プロパティ] > [Javaのビルドパス]を選択し、[ライブラリタブ]の[外部JARの追加]をクリックしビルドパスに追加してください。
RoomresvEJBCMPreserveの作成
RoomresvEJBCMPreserveは、データベースの「TRESERVE」テーブルを使用するEntityBeanです。
Interstage Studioの[ファイル] > [新規]メニューの[その他]を選択します。
[EJB] > [J2EE] > [Enterprise Bean]を選択し、[次へ]をクリックします。
[Enterprise Bean]画面では、以下を入力し、[次へ]をクリックします。
項目 | 設定内容 | デフォルト設定値 |
---|---|---|
ソースフォルダ | (デフォルト設定値) | roomresvEJB/ejbModule |
パッケージ | (デフォルト設定値) | roomresv.ejb |
名前 | "RoomresvEJBCMPreserve"を指定 | (なし) |
Enterprise Bean種別 | "EJB2.x Container-managed persistence Entity Bean"を選択 | "Stateless Session Bean"が選択 |
[Container-managed persistence Entity Bean]画面では、以下を入力し、[次へ]をクリックします。
項目 | 設定内容 | デフォルト設定値 |
---|---|---|
トランザクション管理種別 | (デフォルト設定値) | "Container"が選択 |
リエントラントにする | (デフォルト設定値) | チェックマークなし |
Recordクラスでデータの取得/設定を行う | (デフォルト設定値) | チェックマーク付 |
データソース名 | jdbc/roomresvCMP | (なし) |
Home/Remoteインタフェースを生成する | チェックマーク付 | チェックマークなし |
LocalHome/Localインタフェースを生成する | チェックマークなし | チェックマーク付 |
[永続化フィールド定義]画面では、永続化するフィールドを指定します。ここで、データベースに接続してテーブルの情報を取得することができます。[DB参照]をクリックします。
接続データベースを選択します。
データベース開発パースペクティブで作成済の一覧から選択します。新規に接続データベースを追加する場合は、[接続の追加]より接続データベースを追加作成します。
[OK]をクリックします。
永続化するフィールドを選択します。
データベースに接続が成功すると、スキーマ・テーブル・フィールドの情報が表示されます。
ここでは「ROOMRSDB」データベースの「TRESERVE」テーブルのすべてのフィールドを選択するよう、「TRESERVE」テーブルにチェックします。
[OK]をクリックします。
Primary Keyとget/setメソッドの対象フィールドを選択し、[次へ]をクリックします。
型 | フィールド名 | Primary Key |
---|---|---|
String | resvid | チェックマーク付 |
String | resvdate | チェックマークなし |
String | resvstart | チェックマークなし |
String | resvend | チェックマークなし |
String | resvcomment | チェックマークなし |
String | userid | チェックマークなし |
String | roomid | チェックマークなし |
[ejbCreateメソッド定義]画面のメソッド一覧に「ejbCreate(RoomresvEJBCMPreserveRecord)」が表示されていることを確認し、[次へ]をクリックします。
[Finderメソッド定義]画面のメソッド一覧に「findByPrimaryKey(RoomresvEJBCMPreservePrimaryKey)」が表示されています。これに以下の2つのメソッドを追加します。
メソッド名 | 戻り値の型 | パラメタリスト | 検索条件 | |
---|---|---|---|---|
変数名 | 型 | |||
findAll | java.util.Collection |
|
|
|
findByDate | java.util.Collection | param1 | String | SELECT OBJECT(r) FROM RoomresvEJBCMPreserve AS r WHERE r.resvdate = ?1 |
注) 検索条件は折り返さずに一行で記入してください。
追加の手順は以下のとおりです。
[追加]をクリックします。
メソッド名、戻り値の型、パラメタリスト、検索条件を指定します。
[パラメタ追加]をクリックすると、パラメタリストに変数を追加することができます。
入力後、[OK]をクリックします。
表示内容を確認し、[次へ]をクリックします。
[Homeメソッド定義画面]のメソッド一覧が空欄であることを確認し、[次へ]をクリックします。
[ejbSelectメソッド定義]画面のメソッド一覧が空欄であることを確認し、[次へ]をクリックします。
[ビジネスメソッド定義]画面のメソッド一覧が空欄であることを確認し、[完了]をクリックします。
注意
RoomresvEJBCMPreserve_ROOMRSDB.dbschema、RoomresvEJBCMProom_ROOMRSDB.dbschema、RoomresvEJBCMPuser_ROOMRSDB.dbschemaファイルを作成する必要があります。
データベースの種類がOracleの場合、EJBコンテナは配備時にデータベースにアクセスして、テーブルのスキーマ情報を自動的に取得します。プロジェクトのソースフォルダに自動的に生成されたdbschemaファイルを利用してください。
データベースの種類がSymfowareの場合、以下のコマンドを使用して、このファイルを取得してください。
capture-schema -username ユーザ名 -password パスワード -dburl jdbc:symford://ホスト名:ポート番号/データベース名 -driver com.fujitsu.symfoware.jdbc.SYMDriver -schemaname スキーマ名 -table テーブル名 -out dbschemaファイル名
RoomresvEJBCMProomの作成
RoomresvEJBCMProomは、データベースの「TROOM」テーブルを使用するEntityBeanです。
RoomresvEJBCMPreserveの作成手順と同様に、作成してください。
手順の変更点は以下です。
手順6で選択するテーブルは、「TROOM」です。
手順9で追加するfinderメソッドは以下のとおりです。
メソッド名 | 戻り値の型 | パラメタリスト | 検索条件 | |
---|---|---|---|---|
変数名 | 型 | |||
findAll | java.util.Collection |
|
|
|
RoomresvEJBCMPuserの作成
RoomresvEJBCMPuserは、データベースの「TUSER」テーブルを使用するEntityBeanです。
RoomresvEJBCMPreserveの作成手順と同様に、作成してください。
手順の変更点は以下です。
手順6で選択するテーブルは、「TUSER」です。
手順9で追加するfinderメソッドはありません。