4

Hibernate で SEAM Framework を使用したいのですが、EJB は使用したくありません。EJB を使用できません。

最初の質問は、EntityManager を使用できますか? またはEntityManagerはEJBの一部ですか?

SEAM コンポーネントで Hibernate を使用するにはどうすればアクセスできますか?

ありがとう、フィリップ

4

3 に答える 3

5

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を見てみましょう

于 2010-08-09T15:54:03.457 に答える
0

Seam Web サイトは、開始するのに適した場所です。フレームワークに関するドキュメントはたくさんあります。

よくある質問から:

Seam を使用するには EJB 3 を使用する必要がありますか?

まず、EJB 3 にはセッション Bean、メッセージ駆動型 Bean、および Java Persistence API が含まれていることを理解することが重要です。Seam は 3 つのコンポーネント タイプすべてに対応し、それらをより使いやすくし、貴重な拡張機能を提供します。しかし、Seam は非 EJB プログラミング モデル、特に JavaBeans とネイティブ Hibernate を並行してサポートしています。したがって、何を使用するかの選択はあなた次第です。Seam の最大の強みは、EJB モデルと非 EJB モデルの両方にわたって統一されたアーキテクチャを提供することです。つまり、一方の使い方を学べば、もう一方の使い方も自動的にわかるということです。

于 2010-08-09T14:48:59.047 に答える
0

Hibernate セッションを取得する別の方法は、EntityManager でデリゲート メソッドを使用することです。

Session session = (Session)entityManager.getDelegate();
于 2012-03-13T08:24:25.057 に答える