【发布时间】:2014-10-01 14:47:09
【问题描述】:
我的应用程序包含三层:
- 交互层(RestServices JAX-RS)
- 业务层(无状态 EJB)
- 持久层(带有查询等的 DAO)
此外,我还有这个贯穿各个层的域对象层。该应用程序最初设置为使用 nosql 数据库,但我们不得不放弃它。现在我们将 JPA 与 RDBMS 一起使用,但在迁移时遇到了麻烦,主要是因为交互层正在使用的 jaxb 对象在序列化时试图在没有事务的情况下延迟加载域对象。此事务从无状态 ejb 返回后即已关闭。
在网上阅读了很多内容后,我也尝试使用@Stateless 注释我的restservice,以便更快地启动事务并避免在离开业务层后关闭事务。不幸的是,这也不起作用,因为我仍然得到 lazilyinitializationexceptions。
所以我的问题是我应该如何结合 JAXB、JAX-RS 和 EJB 以避免 LIException?
问候
迈克尔
【问题讨论】:
-
嗨 Nicholas,这不是我真正想要的。这似乎是一种黑客行为。
-
您可以通过这种方式将您的 ejb 注入到休息服务中:
@EJB private YourService service;。不确定我是否正确理解了您的问题。
标签: java jakarta-ee jpa jaxb jax-rs