0
Q
JPA中的连接
A
回答
3
随着JTA数据源,其连接完成的工作是一个JTA事务的一部分。这意味着您必须启动并提交或回滚JTA事务。
要做到这一点,最简单的方法是做一个会话bean中的JPA工作:
@Stateless
public class SomeBean {
@PersistenceContext
private EntityManager entityManager;
public void doStuff() {
// … do some stuff
entityManager.persist(someObj);
}
}
在这种情况下进入doStuff()
方法时离开时,交易将开始和结束。
但是如果你因为某些原因,需要手动启动一些其他类型的bean的交易(如JSF管理的bean,一个Servlet,Servlet过滤器等),您可以直接使用该API:
public class SomeBean {
@Resource
private UserTransaction tx;
public void doStuff() {
try {
tx.begin();
// … do some stuff
entityManager.persist(someObj);
tx.commit();
}
catch (Throwable t) {
tx.rollback();
throw t;
}
}
}
使用会话bean及其所谓的声明式事务几乎总是推荐的方法。
相关问题
- 1. JPA - 从连接表
- 2. 动态JPA连接
- 3. 执行JPA中的左连接查询
- 4. JPA和池连接中的javax.ejb.EJBException
- 5. 跨数据库连接JPA
- 6. JPA获取连接查询
- 7. JPA外键连接同名
- 8. JPA空表和连接表
- 9. 如何测试jpa连接?
- 10. JPA 2.0 NamedQuery左连接
- 11. JPA标准连接查询
- 12. JPA左连接查询
- 13. 休眠JPA连接太多
- 14. 多个连接+ JPA +春
- 15. JPA查询 - 连接子句
- 16. JPA本地连接获取
- 17. JPA/Hibernate最大连接数?
- 18. JPA查询右连接上
- 19. 为什么JPA中“连接太多”?
- 20. 在JPA中使用连接池
- 21. 在Eclipse中添加JPA连接
- 22. JPA获得连接的实体
- 23. JPA连接查询的问题
- 24. 由JPA产生的空连接表ManyToMany
- 25. 有两个左连接的JPA查询
- 26. 使用tomcat的JPA连接池
- 27. JPA无关联的外部连接
- 28. JPA使用连接表的JPA一对多单向关系
- 29. 与JPA无连接远程MySQL连接EclipseLink
- 30. JPA连接到MySQL引发“太多连接”错误