SpringMVC当中的 @Transactional(readOnly = true) 意义?
如题
SpringMVC当中的 @Transactional(readOnly = true) 意义?
有人回答说是 : 有写数据库的操作会报异常,这就是作用
难道就是为了控制写代码的人规范,防止他们在这种方法里面写修改数据库的代码?
另外:
如果一个方法里面跟数据库操作的部分都只是select的话,那为什么还要加@Transactional注解呢
事务的特性不是为了保证数据的完整性吗? select 语法不会更改数据库,也就不会存在回滚一说了吧!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Spring Doc里的描述。
应该是缓存和性能的原因:
readOnly为true 时读取的数据如果缓存中存在就从缓存中读取 这是没有问题的
readOnly为false 时读取的数据就不能从缓存中读取了 万一你第一个操作是修改这个数据,第二个操作是读取这个数据而这个数据从缓存中拿的 那不就gg了