Блокировка таблицы Spring JDBCTemplate с помощью MySQL

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

Спасибо!


person Community    schedule 14.05.2009    source источник


Ответы (1)


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

person Chochos    schedule 14.05.2009