0

我在我们的代码中使用 spring jdbc 将数据存储到数据库中。关于 jdbc 事务管理器有一种情况。我想将数据插入两个表,如 table1 和 table2。首先要将数据插入table1,然后再插入table2,如果在将数据插入table2的过程中发生任何异常,整个事务就会回滚。table1 插入和插入逻辑写入一个 bean,表 2 的插入逻辑写入另一个 bean 我如何在一个事务下管理两个 bean:

在我的 bean.xml 中有两个条目:

<bean id="table1" class="a.b.c.database.manager.table1">
    <property name="dataSource" ref="dataSource" />
</bean>
<bean id="table2" class="a.b.c.database.manager.table2">
    <property name="dataSource" ref="dataSource" />
</bean>
4

1 回答 1

0

编写一个服务,添加一个带@Transactional注释的方法,然后从那里调用 table1 和 table2 插入方法。所以所有过程都是事务性的。我假设您使用的是声明性事务?

示例服务:

@Service
public class DataService {

  @Autowired
  Table1 table1;
  @Autowired
  Table2 table2;

  @Transactional
  public void transactionalInsert(Object data) {
    table1.insertData(data);
    table2.insertData(data);
  }
}
于 2015-08-28T23:19:52.120 回答