我被建议尽快关闭hibernate事务。有人可以告诉我为什么建议这样做吗?
[请让这个问题与我之前的问题不同,就像前一个问题我基本上是在谈论会话连接,但现在我在谈论交易]
答案 0 :(得分:1)
多线程环境中共享状态/数据之间的任何交互都应尽可能短,以减少锁定保持时间,在此期间其他线程可能无法处理其工作。关闭事务可以释放这样的锁(或多个锁),并允许程序执行在事务处理时无法执行的其他工作,因为事务可能在关闭之前触摸共享数据。
请注意,某些类型的事务(在抽象的sesnse中)是无锁的,但这些可能不是您正在处理的事情。