Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @读取方法的事务适用性_Java_Spring Boot_Spring Transactions - Fatal编程技术网

Java @读取方法的事务适用性

Java @读取方法的事务适用性,java,spring-boot,spring-transactions,Java,Spring Boot,Spring Transactions,我想为我的服务类添加事务支持。如果我将javax.transaction.Transactional注释添加到包含读写方法的类中,它的行为如何 通过对该类中的读取方法执行此操作,确实会降低执行速度。或者spring boot会对读取方法忽略它吗?对于读取操作,我们使用org.springframework.transaction.annotation.Transactional和参数@Transactional(readOnly=true) 这只是作为实际事务子系统的提示; *它不一定会导致写入

我想为我的服务类添加事务支持。如果我将javax.transaction.Transactional注释添加到包含读写方法的类中,它的行为如何


通过对该类中的读取方法执行此操作,确实会降低执行速度。或者spring boot会对读取方法忽略它吗?

对于读取操作,我们使用org.springframework.transaction.annotation.Transactional和参数
@Transactional(readOnly=true)

这只是作为实际事务子系统的提示; *它不一定会导致写入访问尝试失败。它不会减缓执行速度

  • 首先需要明确的是,javax和Spring中的
    @Transactional
    是不同的:

  • 第二件事是
    @Transactional
    的范围。当您在方法顶部写入时,其作用域将应用于此方法;当您在类顶部写入时,其作用域将应用于此类。(更多关于这里:)。当您想要只读时,注释具有@Transactional(readOnly=true)选项


  • 如果不对读取方法使用
    @Transactional
    ,您可能会以其他方式读取部分更新或不一致的数据。