我想在Hibernate中使用SEAM Framework,但不想使用EJB。我無法使用EJB。幫我理解SEAM和Hibernate?
第一個問題是,我可以使用EntityManager嗎?或者EntityManager是EJB的一部分?
如何獲得在我的SEAM組件中使用Hibernate的權限?
謝謝你,菲利普
我想在Hibernate中使用SEAM Framework,但不想使用EJB。我無法使用EJB。幫我理解SEAM和Hibernate?
第一個問題是,我可以使用EntityManager嗎?或者EntityManager是EJB的一部分?
如何獲得在我的SEAM組件中使用Hibernate的權限?
謝謝你,菲利普
使用Seam,您可以使用Hibernate或JPA(EntityManager)。無論EJB如何,它都能工作。如果你願意,你可以使用簡單的POJO。
如何獲得在我的SEAM組件中使用Hibernate的權限?
這裏不用休眠設置WEB-INF/components.xml中
的SessionFactory設置
<persistence:hibernate-session-factory name="sessionFactory" cfg-resource-name="app.cfg.xml"/>
凡app.cfg.xml被放置在根類路徑的
Session設置
<persistence:managed-hibernate-session name="session" hibernate-session-factory="#{sessionFactory}" auto-create="true"/>
TransactionManagement中設置
<!--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;
記住煤層任何MVC框架的工作,儘管它使用Java服務器面臨默認。如果您願意,您甚至可以創建自己的MVC功能。看看JBoss Seam Tuto
的Seam website是一個良好的開端。這個框架有很多文檔。
從常見問題:
Do I have to use EJB 3 to use Seam?
首先,要了解 是EJB 3包括會話bean, 消息驅動Bean和Java 持久性API是很重要的。 Seam迎合所有 三種組件類型,使它們更易於使用並提供有價值的 增強功能。但Seam並行支持非EJB編程 模型,其中最值得注意的是JavaBeans和 本地Hibernate。所以 的選擇取決於你。 Seam的 最大的優勢在於它爲 EJB和非EJB模型提供了一個統一的體系結構 。這意味着 一旦你學會了如何使用其中一個,你自動知道如何使用其他的 。
獲得Hibernate的Session的另一種方法是使用委託方法上的EntityManager:
Session session = (Session)entityManager.getDelegate();
@Phil你可以使用任何你想要的持久化技術。不僅僅是Hibernate或JPA – 2010-08-09 16:03:46