gpt4 book ai didi

java - 具有多个 session 工厂的 HibernateTransactionManager(Spring)

转载 作者:行者123 更新时间:2023-11-30 05:17:23 27 4
gpt4 key购买 nike

我有一个 DAO 实现,它使用 HibernateTransactionManager 进行事务管理,并且该应用程序有 2 个 session 工厂。我在下面的 transactionManager.commit() 行遇到异常。 在与不同 session 工厂相关的事务管理器中执行 Hibernate 操作是否会导致问题?

TransactionStatus status = transactionManager.getTransaction(def);
try{
doHibernateStuff1(); //Does Hibernate stuff with session
//factory related to Tx Manager
doHibernateStuff2(); //Does Hibernate stuff with session
//factory not related to Tx Manager
}
catch(DataAccessException){
transactionManager.rollback(status);
}
transactionManager.commit(status); //Exception happens here.

异常似乎是尝试在 txManager.commit() 中再次执行 doHibernateStuff2(); 中的操作。

如果您想提出解决此问题的拼凑和/或正确方法,我将不胜感激。

最佳答案

您是否使用 XA 驱动程序连接到事务中涉及的两个数据源?否则无法工作。

关于java - 具有多个 session 工厂的 HibernateTransactionManager(Spring),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/407492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com