【发布时间】:2015-01-11 13:05:00
【问题描述】:
我正在使用 JPA 和 CDI 开发 JSF 应用程序;我使用以下后端架构:
- 控制器(JSF 流程的 CDI 注释)
- 服务(要注入控制器和其他服务的 CDI 注释)
- DAO(使用 EntityManager 处理)
我的问题是,EntityManager 和事务究竟应该如何处理? 例如事务(我不使用 EJB 或 Deltaspike,因此没有可用的声明性事务)应该由服务层管理(对吗?),但每个与数据相关的其他操作都应该由 DAO 处理。那么EntityManager应该注入到哪里呢?
另外,EntityManager 是否应该是请求(或会话或方法)范围的?
谢谢, 克丽丝
【问题讨论】:
-
您应该使用 EJB 3 框架,并且每个工作单元使用一个实体管理器,即无状态实体外观。
标签: jsf jpa architecture cdi