Database 为什么建议尽快关闭hibernate事务?

Database 为什么建议尽快关闭hibernate事务?,database,hibernate,Database,Hibernate,建议我尽快关闭hibernate事务。有人能告诉我为什么推荐这个吗 [请让这个问题与我之前的问题不同,因为在上一个问题中,我基本上是在讨论会话连接,但现在我在讨论事务]多线程环境中共享状态/数据之间的任何交互应尽可能短,以减少其他线程可能无法处理其工作的锁定保持时间。关闭事务可以释放这样一个锁(或多个锁),并允许程序在事务打开时执行它无法执行的其他工作,因为事务可能在关闭前接触共享数据 请注意,某些类型的事务(在抽象sense中)是无锁的,但这些事务可能不是您正在处理的。通常应“尽快”关闭所有事

建议我尽快关闭hibernate事务。有人能告诉我为什么推荐这个吗


[请让这个问题与我之前的问题不同,因为在上一个问题中,我基本上是在讨论会话连接,但现在我在讨论事务]

多线程环境中共享状态/数据之间的任何交互应尽可能短,以减少其他线程可能无法处理其工作的锁定保持时间。关闭事务可以释放这样一个锁(或多个锁),并允许程序在事务打开时执行它无法执行的其他工作,因为事务可能在关闭前接触共享数据


请注意,某些类型的事务(在抽象sense中)是无锁的,但这些事务可能不是您正在处理的。

通常应“尽快”关闭所有事务。这可以确保释放任何可能阻止其他读写器的锁。@因为事务确保ACID属性,所以事务是否总是涉及获取表上的锁?不,不涉及。它取决于隔离级别、执行的操作以及基础数据库(和选项)。