首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当运行时异常发生时,JPA如何处理提交

问当运行时异常发生时,JPA如何处理提交
EN

Stack Overflow用户
提问于 2013-07-08 01:53:34
回答 1查看 384关注 0票数 0

我在持久化到Oracle DBMS的web应用程序中使用JPA的Hibernate实现。如果我有一个服务方法,它插入了一些使用Spring声明性事务注释(@ transaction )的数据,那么何时将更改提交到DBMS?如果有数以千计的线程使用此服务方法插入数据,而服务器崩溃(类似OutOfMemory异常),那么已插入但未提交的事务会发生什么情况?它与JDBC有区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-08 12:04:33

通常,提交发生在EntityManager关闭之前(如果调用者没有被解压,则在使用@Transaction修饰的方法的末尾)。如果使用hibernate/JPA,您可以通过将以下记录器设置为debug来调试事务begin/commits/rollback:

代码语言:javascript
复制
org.hibernate.transaction=DEBUG 
org.hibernate.engine.transaction=DEBUG # Hibernate 4.2.2 or higher

通常,当运行时异常发生时,您的事务将回滚,但这取决于您的配置/设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17514670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档