这是如何
@Transactional工作的:
默认情况下,存储库实例上的CRUD方法是事务性的。
对于读取操作,事务配置
readOnly标志设置为
true。
所有其他文件均配置为普通格式,
@Transactional以便应用默认事务配置。
如果需要调整存储库中声明的方法之一的事务配置,则可以覆盖该方法并添加
@Transactional具有必需属性值的注释。
更改事务行为的另一种方法是使用外观或服务实现(通常)覆盖多个存储库。
其目的是为非CRUD操作定义事务边界。
如果使用这种方法,则存储库中的事务配置将被忽略,因为外部事务(在服务层中定义)配置决定了实际使用的事务。
参考:Spring Data JPA-参考文档-5.7。交易性



