Java 使用JDBCSpring在多个查询中回滚

Java 使用JDBCSpring在多个查询中回滚,java,spring,jdbc,rollback,spring-data-jdbc,Java,Spring,Jdbc,Rollback,Spring Data Jdbc,我有这个问题,当我在同一个函数中执行两个查询时,如果第二个查询抛出异常且不工作,第一个查询将保留或结果到数据库中,两个查询都插入ddbb示例: public void myFunction(){ query1(); //insert data in ddbb query2(); // also try to insert data in ddbb but not working and throw exception } 在这种情况下,我需要在两个查询中执行回滚,但当前查询1不回滚并将

我有这个问题,当我在同一个函数中执行两个查询时,如果第二个查询抛出异常且不工作,第一个查询将保留或结果到数据库中,两个查询都插入ddbb示例:

public void myFunction(){
  query1(); //insert data in ddbb
  query2(); // also try to insert data in ddbb but not working and throw exception
}
在这种情况下,我需要在两个查询中执行回滚,但当前查询1不回滚并将其插入保持在datbase中

我正在使用spring数据JDBC


感谢并为我的英语感到抱歉,这不是我的母语

您可以使用
@Transactional
注释您的方法,这将指示Spring在发生异常时回滚整个方法:

@Transactional
public void myFunction(){
    // insert data in ddbb
    // also try to insert data in ddbb but not working and throw exception
}

您可以使用
@Transactional
注释您的方法,这将指示Spring在发生异常时回滚整个方法:

@Transactional
public void myFunction(){
    // insert data in ddbb
    // also try to insert data in ddbb but not working and throw exception
}

你的解决方案是有效的,但只有当我在课堂上评论我的方面时,你知道为什么吗?这不起作用,注释需要位于调用这两个方法的方法或类上。注释需要位于第一个方法上,该方法初始化查询以封装所有查询并允许回滚您的解决方案有效,但只有在我对具有方面的类进行注释时,您知道为什么吗?这不起作用,注释需要位于调用这两个方法的方法或类上。注释需要位于第一个方法上,该方法初始化查询以封装所有查询并允许回滚@Transactional解决方案工作,但前提是我对具有方面的类进行注释,你知道为什么吗?@Transactional解决方案有效,但只有在我对我拥有方面的类进行评论时,你知道为什么吗?