我只是将我们的一个应用程序从纯JDBC迁移到Spring的JDBCTemplate。我想知道如何为表创建写锁。我只是执行一个“LOCK TABLE foo”查询,还是在JDBCTemplate中有一个通用的方法呢?
谢谢!
答案 0 :(得分:9)
JdbcTemplate使用DataSource,因此无法保证您将为LOCK TABLE语句使用相同的连接,并且无法在下次调用JdbcTemplate时执行任何操作。因此,在交易中执行此操作非常重要。设置PlatformTransactionManager,JdbcTemplate的DataSource上的DataSourceTransactionManager,或JdbTransactionManager,如果JdbcTemplate使用容器提供的JNDI DataSource。您可以将方法注释为@Transactional,或使用PlatformTransactionManager以编程方式创建事务。