Hibernate で SEAM Framework を使用したいのですが、EJB は使用したくありません。EJB を使用できません。
最初の質問は、EntityManager を使用できますか? またはEntityManagerはEJBの一部ですか?
SEAM コンポーネントで Hibernate を使用するにはどうすればアクセスできますか?
ありがとう、フィリップ
Hibernate で SEAM Framework を使用したいのですが、EJB は使用したくありません。EJB を使用できません。
最初の質問は、EntityManager を使用できますか? またはEntityManagerはEJBの一部ですか?
SEAM コンポーネントで Hibernate を使用するにはどうすればアクセスできますか?
ありがとう、フィリップ
Seam では、Hibernate または JPA (EntityManager) のいずれかを使用できます。EJBに関係なく動作します。必要に応じて、プレーンな POJO を使用できます。
SEAM コンポーネントで Hibernate を使用するにはどうすればアクセスできますか?
ここにHibernateの設定が入りますWEB-INF/components.xml
セッションファクトリーの設定
<persistence:hibernate-session-factory name="sessionFactory" cfg-resource-name="app.cfg.xml"/>
app.cfg.xml がクラスパスのルートに配置される場所
セッション設定
<persistence:managed-hibernate-session name="session" hibernate-session-factory="#{sessionFactory}" auto-create="true"/>
トランザクション管理設定
<!--It takes care of calling begin and commit in the underlying Transaction API-->
<!--Here a Hibernate Transaction API-->
<tx:hibernate-transaction session="#{session}"/>
Hibernate Session を挿入するには、使用できます
/**
* Seam lookup Seam enabled components Through its referenced name - session
*/
private @In Session session;
Seam はデフォルトで Java Server Faces を使用しますが、任意の MVC フレームワークで動作することに注意してください。必要に応じて、独自の MVC 機能を作成することもできます。JBoss Seam Tutoを見てみましょう
Seam Web サイトは、開始するのに適した場所です。フレームワークに関するドキュメントはたくさんあります。
よくある質問から:
Seam を使用するには EJB 3 を使用する必要がありますか?
まず、EJB 3 にはセッション Bean、メッセージ駆動型 Bean、および Java Persistence API が含まれていることを理解することが重要です。Seam は 3 つのコンポーネント タイプすべてに対応し、それらをより使いやすくし、貴重な拡張機能を提供します。しかし、Seam は非 EJB プログラミング モデル、特に JavaBeans とネイティブ Hibernate を並行してサポートしています。したがって、何を使用するかの選択はあなた次第です。Seam の最大の強みは、EJB モデルと非 EJB モデルの両方にわたって統一されたアーキテクチャを提供することです。つまり、一方の使い方を学べば、もう一方の使い方も自動的にわかるということです。
Hibernate セッションを取得する別の方法は、EntityManager でデリゲート メソッドを使用することです。
Session session = (Session)entityManager.getDelegate();