【发布时间】:2019-04-08 07:37:00
【问题描述】:
我正在开发一个将部署在Weblogic 上的J2EE 应用程序,它包含两层:
- 业务:DAO 和逻辑方法
- EJB:将使用业务层
我将两层分开,以便能够在 Java SE 项目中重用业务层(作为 jar 库)。
我使用transaction-type = JTA 让服务器管理事务,但在SE 项目中我使用transaction-type = RESOURCE_LOCAL,所以我需要明确开始并提交事务。
所以问题是:如果我在使用JTA 时显式启动并提交事务有什么问题吗?
换句话说,以下两个代码之间是否存在巨大差异:
public void create(T entity) {
entityManager.persist(entity);
}
和
public void create(T entity) {
entityManager.getTransaction().begin();
entityManager.persist(entity);
entityManager.getTransaction().commit();
}
【问题讨论】:
标签: java jpa transactions jta