Java Spring框架中的回滚机制

Java Spring框架中的回滚机制,java,spring,hibernate,Java,Spring,Hibernate,我参加了一次面试,被问到一个让我哑口无言的问题。所以我想也许我可以在这里问这个问题并得到正确的答案。 问题如下 在春季,我们使用hibernate进行数据库操作。我有一个 一个Java类,其中有多个需要修改的对象 在数据库中持久化(比如说3个对象)。现在,我想确定一下 第三个对象无法持久化,然后是第一个和第二个对象 对象应该回滚。这种行为应该由 Spring框架,问题是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中也给出类似的例子,那就太棒了,这会让事情变得非常清楚。也就是说,在两个不同的框架中做同样的事情。