Java Spring框架中的回滚机制
我参加了一次面试,被问到一个让我哑口无言的问题。所以我想也许我可以在这里问这个问题并得到正确的答案。 问题如下 在春季,我们使用hibernate进行数据库操作。我有一个 一个Java类,其中有多个需要修改的对象 在数据库中持久化(比如说3个对象)。现在,我想确定一下 第三个对象无法持久化,然后是第一个和第二个对象 对象应该回滚。这种行为应该由 Spring框架,问题是Spring如何确保 行为实现了吗 就我个人的理解而言,即使我想确保这种行为是在hibernate中实现的,我如何才能实现呢Java Spring框架中的回滚机制,java,spring,hibernate,Java,Spring,Hibernate,我参加了一次面试,被问到一个让我哑口无言的问题。所以我想也许我可以在这里问这个问题并得到正确的答案。 问题如下 在春季,我们使用hibernate进行数据库操作。我有一个 一个Java类,其中有多个需要修改的对象 在数据库中持久化(比如说3个对象)。现在,我想确定一下 第三个对象无法持久化,然后是第一个和第二个对象 对象应该回滚。这种行为应该由 Spring框架,问题是Spring如何确保 行为实现了吗 就我个人的理解而言,即使我想确保这种行为是在hibernate中实现的,我如何才能实现呢 在
在这件事上的任何帮助都将不胜感激。感谢阅读Spring的
@Transactional
注释,了解它如何与AOP代理一起工作,以及如何执行回滚。要引用文档,请执行以下操作:
向Spring框架的事务指示的推荐方式
事务的工作要回滚到的基础结构是
从当前在中执行的代码中引发异常
事务的上下文。Spring框架的事务
当异常冒泡时,基础结构代码将捕获任何未处理的异常
启动调用堆栈,并确定是否标记
用于回滚的事务
在默认配置中,Spring框架的事务
在这种情况下,基础结构代码仅标记要回滚的事务
对于运行时,未检查的异常;也就是说,当抛出异常时
是RuntimeException的实例或子类。(错误也会发生。)-
默认情况下-导致回滚)。已检查抛出的异常
在默认情况下,来自事务性方法的操作不会导致回滚
配置
参考:
@Transactional:
回滚:阅读Spring的
@Transactional
注释,了解它如何与AOP代理一起工作,以及如何执行回滚。要引用文档,请执行以下操作:
向Spring框架的事务指示的推荐方式
事务的工作要回滚到的基础结构是
从当前在中执行的代码中引发异常
事务的上下文。Spring框架的事务
当异常冒泡时,基础结构代码将捕获任何未处理的异常
启动调用堆栈,并确定是否标记
用于回滚的事务
在默认配置中,Spring框架的事务
在这种情况下,基础结构代码仅标记要回滚的事务
对于运行时,未检查的异常;也就是说,当抛出异常时
是RuntimeException的实例或子类。(错误也会发生。)-
默认情况下-导致回滚)。已检查抛出的异常
在默认情况下,来自事务性方法的操作不会导致回滚
配置
参考:
@Transactional:
回滚:查看了事务生命周期,觉得它有点太难理解,所以我希望有一些简单的定义,只有很少的参数,比如“传播。需要新的”。问题是,我无法将点连接起来,以便为我的问题提供一个清晰的图片。我查看了事务生命周期,觉得它有点太难理解,所以我希望得到一些简单的定义,只有很少的参数,比如“传播。需要新的”。问题是,我无法将点连接起来,为我的问题画出一幅清晰的图画。如果你能在Hibernate中也给出类似的例子,那就太棒了,这会让事情变得非常清楚。ie,在两个不同的框架中做同样的事情。如果你能在Hibernate中也给出类似的例子,那就太棒了,这会让事情变得非常清楚。也就是说,在两个不同的框架中做同样的事情。