java - 我应该使用@Transactional 对JdbcTemplate 进行简单查询吗?

标签 java database spring transactions spring-transactions

<分区>

我正在使用不带 Hibernate 的 Spring JdbcTemplate。如果它执行一个简单的选择或一个简单的插入查询,我应该用 @Transactional 注释方法吗?我应该使用 @Transactional(readonly=true) 专门针对 Oracle 的只读方法吗?这样做有什么好处和坏处?

最佳答案

Should I annotate method with @Transactional if it does one simple select or one simple insert queries?

是的。基本上,对数据库的每次访问都应该在事务中完成。这就是保证 ACID 属性的原因。即使您现在只有一个查询,是什么让您认为明天需求或设计不会改变,并且您不会有两个查询?为什么要避免使用事务?

Should I use @Transactional(readonly=true) for read-only methods specifically on Oracle?

据我所知,对于 JdbcTemplate,它没有任何值(value)(除了记录事务应该是只读的),因为您可以完全控制执行哪些查询。

关于java - 我应该使用@Transactional 对JdbcTemplate 进行简单查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46090335/

相关文章:

java.net.UnknownHostException : Invalid hostname for server: local

java - 如何在java中将时间格式转换为日期格式的今天时间?

sql - 如何更改 APEX 5.1 中的单行值?

java - Spring @scheduled 带有 cron 但没有重叠的 cron

java - 回文中的for循环

java - 使用 XML 文件在 swing 中构建 GUI

database - 带外键的 EF 数据库第一个角色名称?

mysql - 使用 UPDATE 用 AVG 数据填充第二个表的列

java - 使用 spring "cvc-elt.1: Cannot find the declaration of element ' beans 获取错误消息。”

具有 Multi-Tenancy 的 Spring Data Redis