SpringMVC当中的 @Transactional(readOnly = true) 意义?

发布于 2022-09-04 05:52:18 字数 302 浏览 13 评论 0

如题

SpringMVC当中的 @Transactional(readOnly = true) 意义?

有人回答说是 : 有写数据库的操作会报异常,这就是作用

难道就是为了控制写代码的人规范,防止他们在这种方法里面写修改数据库的代码?

另外:

如果一个方法里面跟数据库操作的部分都只是select的话,那为什么还要加@Transactional注解呢

事务的特性不是为了保证数据的完整性吗? select 语法不会更改数据库,也就不会存在回滚一说了吧!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

み零 2022-09-11 05:52:18

Spring Doc里的描述。

Read-only status: A read-only transaction can be used when your code
reads but does not modify data. Read-only transactions can be a useful
optimization in some cases, such as when you are using Hibernate.

Spring初心 2022-09-11 05:52:18

应该是缓存和性能的原因:
readOnly为true 时读取的数据如果缓存中存在就从缓存中读取 这是没有问题的
readOnly为false 时读取的数据就不能从缓存中读取了 万一你第一个操作是修改这个数据,第二个操作是读取这个数据而这个数据从缓存中拿的 那不就gg了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文