2009-05-14 6 views
5

Acabo de migrar una de nuestras aplicaciones de JDBC puro a JDBCTemplate de Spring. Me preguntaba cómo crear un bloqueo de escritura para una tabla. ¿Acabo de ejecutar una consulta "LOCK TABLE foo" o hay una forma generalizada de hacerlo en JDBCTemplate?Spring JDBCTemplate Table Locking with MySQL

Gracias!

Respuesta

9

JdbcTemplate utiliza un DataSource, por lo que no se garantiza que use la misma conexión para la instrucción LOCK TABLE y lo que sea que vaya a hacer en la siguiente llamada a JdbcTemplate. Entonces, es importante que hagas esto en una transacción. Configure PlatformTransactionManager, DataSourceTransactionManager en JdbcTemplate's DataSource, o JtaTransactionManager si JdbcTemplate está utilizando un contenedor JNDI DataSource. Puede anotar su método como @Transactional o crear una transacción mediante programación utilizando PlatformTransactionManager.