帮助我了解SEAM和Hibernate? [英] Help me to understand SEAM and Hibernate?

查看:174
本文介绍了帮助我了解SEAM和Hibernate?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用Hibernate使用SEAM框架,但不想使用EJB。我不能使用EJB。



第一个问题是,可以使用EntityManager吗?或者是EntityManager是EJB的一部分?



如何在我的SEAM组件中使用Hibernate?



谢谢,Philip

解决方案

使用Seam,您可以使用Hibernate或JPA(EntityManager)。它与EJB无关。如果需要,可以使用普通POJO。



如何在我的SEAM组件中使用Hibernate?



这里是Hibernate设置 WEB-INF / components.xml



SessionFactory 设置

 < persistence:hibernate-session-factory name =sessionFactorycfg-resource-name =app.cfg.xml/> 

其中app.cfg.xml放在类路径的根目录



会话设置

 持久性:managed-hibernate-session name =sessionhibernate-session-factory =#{sessionFactory}auto-create =true/> 

交易管理设置

 <! - 它负责在底层的Transaction API中调用begin和commit  - > 
<! - 这里是一个Hibernate Transaction API - >
< tx:hibernate-transaction session =#{session}/>

要注入休眠会话,您可以使用

  / ** 
* Seam查找Seam启用的组件通过引用的名称 - 会话
* /
private @In Session session;请注意,Seam可以使用任何MVC框架,但默认情况下使用Java Server Faces。如果你想要的话,你可以创建自己的MVC功能。看看 JBoss Seam Tuto


I want to use SEAM Framework with Hibernate but do not want to use EJB. I cannot use EJB.

First question is, can I use EntityManager? or is EntityManager a part of EJB?

How can I get access to use Hibernate in my SEAM component?

Thanks, Philip

解决方案

With Seam, you can use either Hibernate or JPA (EntityManager). It works regardless of EJB. You can use plain POJO if you want.

How can I get access to use Hibernate in my SEAM component ?

Here goes Hibernate settings WEB-INF/components.xml

SessionFactory settings

<persistence:hibernate-session-factory name="sessionFactory" cfg-resource-name="app.cfg.xml"/>

Where app.cfg.xml is placed in the root of the classpath

Session settings

<persistence:managed-hibernate-session name="session" hibernate-session-factory="#{sessionFactory}" auto-create="true"/>

TransactionManagement settings

<!--It takes care of calling begin and commit in the underlying Transaction API-->
<!--Here a Hibernate Transaction API-->
<tx:hibernate-transaction session="#{session}"/>

To inject your Hibernate Session you can use

/**
  * Seam lookup Seam enabled components Through its referenced name - session 
  */
private @In Session session;

Keep in mind Seam works with any MVC framework although it uses Java Server Faces by default. You can create even your own MVC capabilities if you want. Take a look at JBoss Seam Tuto

这篇关于帮助我了解SEAM和Hibernate?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆