spring - @Transactional 带有 1 个保存语句

标签 spring grails transactional

用 spring 的 @Transactional 标记一个带有单个保存语句的方法有意义吗? 例如:

// does it make sense mark it with @Transactional if it only has 1 save sentence?
@Transactional
public void saveMethod() {
    user.save()
}

最佳答案

如果您使用Spring数据接口(interface),则不需要使用@transactional注释。仅当您想要对数据库提供两次执行并且想要共享事务时,才可以回滚这两个操作。

无论如何,最好使用@transactional,即使是只读的获取查询(将FlushMode设置为MANUAL,让持久性提供程序在关闭EntityManager时可能跳过脏检查),所以我建议将@transactional作为服务层对于 get 查询是只读的。

关于spring - @Transactional 带有 1 个保存语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32492687/

相关文章:

java - spring-data JpaRepository save() 方法副作用

java - 为什么 Spring 4 只允许在一个上下文中使用一个 TaskScheduler?

html - 将 GSP View 呈现为紧凑的 html 文件

grails - 如何使 LIMIT 在 Grails HQL executeUpdate() 中工作?

java - Spring事务隔离不起作用

grails - Grails-@Transactional,连接为只读

mysql - Spring事务隔离级别与数据库隔离级别的优先级

java - 在 URL 中附加特殊字符

grails - Grails:编辑和删除链接不起作用

java - SpringMVC : @Transactional causes: No qualifying bean of type [. ..] 已定义