2009-05-14 3 views
5

Я просто переношу одно из наших приложений с чистого JDBC на JDBCTemplate Spring. Мне было интересно, как создать блокировку записи для таблицы. Я просто выполняю запрос LOCK TABLE foo или существует обобщенный способ сделать это в JDBCTemplate?Spring JDBCTemplate Table Locking с MySQL

Спасибо!

ответ

9

JdbcTemplate использует DataSource, поэтому не гарантируется, что вы будете использовать то же соединение для оператора LOCK TABLE и все, что вы собираетесь делать при следующем вызове JdbcTemplate. Поэтому важно, чтобы вы делали это в транзакции. Настройте PlatformTransactionManager, либо DataSourceTransactionManager в DataSource JdbcTemplate, либо JtaTransactionManager, если JdbcTemplate использует предоставленный контейнером источник данных JNDI. Вы можете аннотировать свой метод как @Transactional или создать транзакцию программно с помощью PlatformTransactionManager.

Смежные вопросы