使用JdbcTempalte时如何正确使用Transaction?

问题描述

我需要在春季使用loop = asyncio.get_event_loop()

例如,我有

JdbcTemplate

据我了解,这不是交易的有效用法

因此,我可以对void someFunction() { // Some logic sql(); } @Transactional void sql() { jdbcTemplate.batchUpdate(...); } 使用@Transactional批注,如下所示:

JdbcTemplate

还是最好使用TransactionTemplate

解决方法

是的,您可以使用这样的注释,但是请查阅Spring文档中声明的这一部分

'由于Spring的AOP框架基于代理的性质,根据定义,无论是JDK代理(在不适用的情况下)还是CGLIB代理(在技术上可行的情况下,不建议用于AOP)。结果,任何给定的切入点将仅与公共方法匹配!'。

因此,您的方法应该是一个公共方法,当前不是。更新它,您的方法应该可以使用。