帮助我了解Seam和Hibernate的?
-
27-09-2019 - |
题
我想使用Seam框架与Hibernate,但不希望使用EJB。我不能使用EJB。
首先的问题是,我可以使用的EntityManager?或者是EntityManager的EJB的一部分?
我如何才能访问我的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放置在类路径强>
的的根<强>会话
设置<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的政党成员
其他提示
在缝网站是一个良好的开端。有一个在框架大量的文档资料。
从FAQ:
首先,必须了解是很重要的 该EJB 3包括会话bean, 消息驱动Bean和Java 持久性API。缝迎合所有 三种组分类型,使他们 易于使用,并提供有价值 增强。但是缝有并行 对于非EJB编程支持 模型中,最值得注意的是JavaBeans和 原来的Hibernate。所以选用 使用什么是你的。 Seam的 最大的优势是它提供 跨越两个统一架构 EJB和非EJB模型。这意味着 一旦你学会如何使用一个,你 自动知道如何使用 其他
得到Hibernate会话的另一种方式是使用上的EntityManager委托方法:
Session session = (Session)entityManager.getDelegate();