以相同的方法在一个事务块内的两个表中插入记录

曼格什

我想以相同的方法在一个事务中的两个表中插入/更新记录。

首先插入table1,如果成功则更新table2,然后如果两者都成功则只提交否则不要提交(在两个表中)

我的代码如下:

@Transactional
public void persistTable1AndTable2() {
    persistTable1(List<Table1Entity>);
    updateTable2(List<Table2Entity>);
}

但是,当我测试代码时,如果在 persistTable1 行之后我终止了进程,它仍然会在第一个表中插入记录。所以它不认为这是块交易。

我正在使用 mysql。

只是添加:在 table1 和 table2 上面使用单独的 transactionmanager 和 entityManagerFactory

有人可以帮忙吗

[编辑]

使用 atomikos API 配置 JTA 的代码。

//Atomikos related JTA configuration
@Bean(name="userTransactionServiceImp")
public UserTransactionServiceImp userTransactionServiceImp()
{
    Properties properties = new Properties();
    properties.setProperty("com.atomikos.icatch.max_timeout", "600000");
    UserTransactionServiceImp userTransactionServiceImp = new UserTransactionServiceImp(properties);
    return userTransactionServiceImp;
}

@Bean
@DependsOn("userTransactionServiceImp")
public UserTransaction userTransaction()
{
    UserTransactionImp userTransactionImp = new UserTransactionImp();
    return userTransactionImp;
}

@Bean
@DependsOn("userTransactionServiceImp")
public TransactionManager userTransactionManager()
{
    UserTransactionManager userTransactionManager = new UserTransactionManager();
    userTransactionManager.setStartupTransactionService(false);
    userTransactionManager.setForceShutdown(false);
    return userTransactionManager;
}

@Bean
public PlatformTransactionManager transactionManager()
{
    return new JtaTransactionManager(userTransaction(), userTransactionManager());
} 

并配置 jparepo 我有以下配置类:

@EnableJpaRepositories(basePackages = {"daemon.repository.entities"}, 
    transactionManagerRef="transactionManager", entityManagerFactoryRef = "eventsEntityMF")
拉金德·桑德胡

我在这里找到了一个类似的例子

有一个快速检查http://fabiomaffioletti.me/blog/2014/04/15/distributed-transactions-multiple-databases-spring-boot-spring-data-jpa-atomikos/

看看你是否缺少一些配置

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

oracle 将两个不同表中的记录插入到一个表中

来自分类Dev

将两个不同表中的记录插入一个

来自分类Dev

如何将一个记录转换为两个记录,然后将其插入表中?

来自分类Dev

mysql 使用内连接和 max() 从两个表插入到一个表中

来自分类Dev

当第二个表引用第一个表中的主键时,如何将记录插入到两个表中?

来自分类Dev

一次将两个记录插入两个表,其中一个表使用另一个作为外键?

来自分类Dev

将两个表中的术语配对并插入一个表中(硬)

来自分类Dev

将两个表中的数据插入到另一个表中

来自分类Dev

使用Laravel查询构建器将记录插入到两个表或一个表中,具体取决于记录是否存在

来自分类Dev

Clojure-从另一个调用一个方法,两个方法都在相同的协议/记录中

来自分类Dev

一次将记录插入两个表

来自分类Dev

从两个不同的表插入到一个表中

来自分类Dev

PHP & MYSQL:在两个不同的表中插入记录

来自分类Dev

cakephp在一个模型和控件中的两个表中插入数据

来自分类Dev

在 Opaleye 中,如何在同一个查询中插入两个表?

来自分类Dev

两个继承的postgres表中的相同记录

来自分类Dev

在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

来自分类Dev

如何在一个查询中更新来自不同表的两个记录?

来自分类Dev

mysql在一个查询中具有不同记录的两个表

来自分类Dev

在具有两个外键(php)的一个表中插入数据

来自分类Dev

构造一个SQL查询,该查询包含一个表中的两个记录的结果

来自分类Dev

使用一个控制器和一个视图在两个表中插入数据

来自分类Dev

如何插入两个表;一个表将插入1行,另一表将插入多行,两个表的一列具有相同的值

来自分类Dev

如何在php中的多个总记录中显示一个表行中的两个记录?

来自分类Dev

将来自两个不同表的2个值插入到一个表中

来自分类Dev

将来自两个不同表的2个值插入到一个表中

来自分类Dev

如何使用php与事务插入两个表?

来自分类Dev

两次插入,两张表,一个 PDO 事务,双 SQL 结果

来自分类Dev

如何匹配两个表并将其插入到laravel 5.4中的另一个表中?

Related 相关文章

  1. 1

    oracle 将两个不同表中的记录插入到一个表中

  2. 2

    将两个不同表中的记录插入一个

  3. 3

    如何将一个记录转换为两个记录,然后将其插入表中?

  4. 4

    mysql 使用内连接和 max() 从两个表插入到一个表中

  5. 5

    当第二个表引用第一个表中的主键时,如何将记录插入到两个表中?

  6. 6

    一次将两个记录插入两个表,其中一个表使用另一个作为外键?

  7. 7

    将两个表中的术语配对并插入一个表中(硬)

  8. 8

    将两个表中的数据插入到另一个表中

  9. 9

    使用Laravel查询构建器将记录插入到两个表或一个表中,具体取决于记录是否存在

  10. 10

    Clojure-从另一个调用一个方法,两个方法都在相同的协议/记录中

  11. 11

    一次将记录插入两个表

  12. 12

    从两个不同的表插入到一个表中

  13. 13

    PHP & MYSQL:在两个不同的表中插入记录

  14. 14

    cakephp在一个模型和控件中的两个表中插入数据

  15. 15

    在 Opaleye 中,如何在同一个查询中插入两个表?

  16. 16

    两个继承的postgres表中的相同记录

  17. 17

    在一个查询中从两个表中选择一个记录,并从另一个表中选择多个记录

  18. 18

    如何在一个查询中更新来自不同表的两个记录?

  19. 19

    mysql在一个查询中具有不同记录的两个表

  20. 20

    在具有两个外键(php)的一个表中插入数据

  21. 21

    构造一个SQL查询,该查询包含一个表中的两个记录的结果

  22. 22

    使用一个控制器和一个视图在两个表中插入数据

  23. 23

    如何插入两个表;一个表将插入1行,另一表将插入多行,两个表的一列具有相同的值

  24. 24

    如何在php中的多个总记录中显示一个表行中的两个记录?

  25. 25

    将来自两个不同表的2个值插入到一个表中

  26. 26

    将来自两个不同表的2个值插入到一个表中

  27. 27

    如何使用php与事务插入两个表?

  28. 28

    两次插入,两张表,一个 PDO 事务,双 SQL 结果

  29. 29

    如何匹配两个表并将其插入到laravel 5.4中的另一个表中?

热门标签

归档