【发布时间】:2014-01-31 11:58:31
【问题描述】:
我已经为此工作了几个小时,但我仍然没有弄清楚将 JPA 与 JSF 结合使用的正确方法是什么。
我有一个会话范围的托管 bean,它可以做很多事情,其中之一是持久化一些实体对象。 一开始,我创建了一个生产者方法,请求范围,用于构建我的 EntityManager 对象。无论如何,在这里阅读将请求的范围 bean 注入会话范围的 bean 是将该实例包装到 Instance 对象中。完毕。但是当我尝试使用那个 EM 时,我得到了一个需要事务的异常。继续阅读互联网上有人告诉我必须使用 PersistenceContext 注释将 EM 直接注入到我的托管 bean 中。无论如何,我认为使用 persistenceUnit 注释并在我需要它们的方法中创建我的 em 更有意义。注入有效,但是当我尝试持久化某些内容时,我仍然会遇到需要事务的异常!
所以我在这里问:这样做的正确方法是什么?
编辑:我使用默认设置的 Jboss eap 6.2。我正在使用 WEB-INF 中的 xml 文件部署我的数据源,所以我使用的是 JTA。
【问题讨论】:
-
你的运行环境是什么?如果您只使用 servlet 容器或成熟的 Java EE 服务器,这很重要。
-
除了@Yuri 所说的,this tutorial chapter 解释了为什么知道您是否使用 JavaEE 很重要。
标签: java hibernate jsf jpa cdi