gpt4 book ai didi

java - 为什么 Spring 的 @Transactional 有助于性能

转载 作者:行者123 更新时间:2023-12-01 15:33:27 25 4
gpt4 key购买 nike

我有一个方法,在使用 Hibernate 的默认可遍历解析器验证实体列表时,可能会对数据库进行大量调用。如果我将其注释为 @Transactional,它的运行速度几乎是原来的四倍。有几个问题:

1)为什么它更快?

2) 如何在不使方法具有事务性的情况下复制速度的提高?我完全没有必要将此方法包装在事务中,并且使其具有事务性与该方法的真正意图不一致。

最佳答案

我相信发生的事情是您的数据库逻辑需要事务。如果有一个事务正在进行中,例如由于 Spring 根据您的注释创建了一个事务,这些操作将加入该事务。如果没有正在进行的事务,他们将必须经历获取连接、启动事务以及可能在每次调用时设置 Hibernate session 的过程。

这与您的方法的意图有何矛盾?

关于java - 为什么 Spring 的 @Transactional 有助于性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263818/

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