・Seam Action
・Seam Form
・Seam Entity
・Seam Conversation
・Seam Generate Entities
・Seam Components File
・Seam Page Flow
・Seam Web Project
上記で、クラス以外を生成するのは以下のもの。簡単に概要も説明。
・Seam Components File ・・・ コンポーネントファイルを生成する。
・Seam Page Flow ・・・ ページ・フローファイルを生成する。
・Seam Web Project ・・・ Seamプロジェクトを生成する。
残りは実際にjavaソースや、viewを生成してくれる。
・Seam Action ・・・
ボタン一個の画面とボタンを押したときのアクションを生成する。
・Seam Form ・・・
入力フォーム画面とフォーム入力処理アクションを生成する。(バリデーション込み)
・Seam Entity ・・・
エンティティとそれに対応したCRUD処理を行う一連の画面とその処理アクションを生成する。
・Seam Conversation ・・・
Conversationスコープの処理を行う足し算画面とその処理アクションを生成する。
・Seam Generate Entities ・・・
DBのテーブルに対応したエンティティとそのCRUD処理を行う一連の画面とその処理アクションを生成する。
その中でテストクラスの雛形も生成してくれるのは、
・Seam Action
・Seam Form
のみ。
当初は開発アシストの感覚だったのだが、どっちかというとサンプル生成の気が強い。
中でも一番戸惑ったのが、Seam Entity。(Seam Generate Entitiesもだけど)
これはEntiryクラスの他にアクションクラスとして、EntityHomeを継承したHomeクラスと、EntityQueryを継承したListクラスも生成する。
どうもこれらは、EntityManagerを直接使わない、JPAのスマートな使い方のようだ。
参考にしているソースや、書籍は大体EntityQueryを継承せずにJPA(EntityManager)を直接使用しているのが多い。
当初はそういうものだと思っていたので、HomeクラスとListクラスの意味が良く分からなかった。
(まだ分かってるとは言えないけど。)
これらはその内利用してみよう。まずは初心者なので参考にしているものと似た形のが分かりやすい。
というわけで自分の中での1つの結論。
・セッションBeanは、Seam Actionか、Seam Formで作ること!
(インターフェイスもテストクラスの雛形も作ってくれるし。)
・エンティティBeanは、Seam Entityで作るけど、HomeクラスとListクラスは削除!Entityクラスだけ使う。
・セッションBeanの中ではEntityManagerを直接使う!
(とりあえず直接利用のやり方を覚える。)
間違った結論かもしれないけど、とりあえずこの方向性で進めてみよう。