28.4. J2EE での Seam の設定
EJB3 永続の代わりに Hibernate 3 か JPA、 また セッション Bean の代わりに JavaBean を使用することができます。 Seam の宣言的な状態管理アーキテクチャの利点も活用できるため、 EJB3 への移行が容易になります。
Seam JavaBean コンポーネントはセッション Bean のような宣言的トランザクション境界設定は提供しません。 JavaBean で Hibernate を使用する場合はほとんどのアプリケーションが Seam 管理トランザクションを使用しますが、 JTA
UserTransaction で手作業による管理、 または Seam の @Transactional アノテーションで宣言的に管理を行うこともできます。
Seam ディストリビューションには、予約サンプルアプリケーションの追加バージョンが含まれています。 ひとつは EJB3 の代わりに Hibernate3 と JavaBean を使用し、もう 1 つは JPA と JavaBean を使用します。 サンプルアプリケーションはいずれの J2EE アプリケーションサーバーにもデプロイ可能です。
28.4.1. Seam での Hibernate のブートストラップ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
次の組み込みコンポーネントをインストールして、 Seam に
hibernate.cfg.xml ファイルから Hibernate の SessionFactory をブートストラップさせます。
<persistence:hibernate-session-factory name="hibernateSessionFactory"/>
<persistence:hibernate-session-factory name="hibernateSessionFactory"/>
Seam 管理の Hibernate
Session をインジェクトにより使用可能にするには次のように managed session を設定します。
<persistence:managed-hibernate-session name="hibernateSession"
session-factory="#{hibernateSessionFactory}"/>
<persistence:managed-hibernate-session name="hibernateSession"
session-factory="#{hibernateSessionFactory}"/>