Java Spring@Transactional注释中只读属性的正确位置

Java Spring@Transactional注释中只读属性的正确位置,java,spring,Java,Spring,如果来自服务层的方法在同一事务中调用来自存储库层的方法,那么将readOnly属性设置为服务方法或存储库方法是否有效?事务注释的典型位置在服务层。您的服务可能会调用许多存储库方法,因此让事务跨越单个服务调用比让单个存储库/DAO调用有更多事务更有效 如果您将多个DAO注入到该服务中,并且需要在单个事务中协同工作,这是正确的方法。我会选择服务层。非常感谢,但实际上我也希望该事务在存储库方法中继续。他们说readonly在访问由存储库方法完成的数据源时非常有用。当注释位于服务层时,事务将在存储库方法

如果来自服务层的方法在同一事务中调用来自存储库层的方法,那么将readOnly属性设置为服务方法或存储库方法是否有效?

事务注释的典型位置在服务层。您的服务可能会调用许多存储库方法,因此让事务跨越单个服务调用比让单个存储库/DAO调用有更多事务更有效


如果您将多个DAO注入到该服务中,并且需要在单个事务中协同工作,这是正确的方法。

我会选择服务层。非常感谢,但实际上我也希望该事务在存储库方法中继续。他们说readonly在访问由存储库方法完成的数据源时非常有用。当注释位于服务层时,事务将在存储库方法中继续。您可以为存储库方法设置传播,但我认为对服务方法进行注释更为简洁:)