有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带JPA的Spring应用程序中的java嵌套事务(postgres)

是否可以使用postgres在{}中使用JPA进行{}?我得到:

org.springframework.transaction.NestedTransactionNotSupportedException:
JpaDialect does not support savepoints - check your JPA provider's capabilities

我试过:

@Bean
public PlatformTransactionManager transactionManager() {
    JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(entityManagerFactory()
                .getObject());
    transactionManager.setNestedTransactionAllowed(true);
    return transactionManager;
}

但是没有成功


共 (2) 个答案

  1. # 1 楼答案

    savepointAllowed为true,表示事务管理器允许嵌套事务。但是JpaDialect不支持保存点

  2. # 2 楼答案

    我假设您正在使用Hibernate。使用Hibernate不可能实现嵌套事务

    enter image description here

    在下面的代码摘录中,spring设置了savePointManager。但是在Hibernate中没有实现SavepointManager的类