我们在 JBoss 4.2.3 中使用 Spring 和 Hibernate,并调用外部系统,这可能需要一段时间,作为处理请求的一部分。为了消除长期存在的数据库锁,我们在外部调用返回之前不会写入数据库。 但是 Hibernate 不喜欢没有事务,因此我们有一个由 Spring 启动的只读事务,直到我们进行写入(在新的读写子事务中)。不幸的是,这仍然意味着我们在外部调用期间保留资源,即从池中分配的连接。 当执行的其余部分(之前和之后)需要一个事务时,有没有一种方法可以在没有正在进行的事务的情况下进行外部调用? 有没有更好的方法来推迟实际事务直到我们真正需要它并且仍然让 Hibernate 满意?
最佳答案
你的持久层需要调用外部系统吗?在你坚持之前,在外面做这种事情似乎更合乎逻辑。
关于java - 在没有正在进行的事务的情况下如何进行外部调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875023/