2012-01-24 4 views
3

Мы используем SQL Server, и возможно, что изоляция моментальных снимков может быть хорошим способом улучшить производительность и устранить некоторые проблемы с блокировкой.Поддержка пружинной изоляции? Изоляция моментальных снимков MSQL

Предполагая, что у нас есть настоящая необходимость изменить изоляцию снимков, я не могу найти простой способ включить изоляцию снимков на пружинах @Transactional.

Я нашел следующий вариант конфигурации спящего режима для этого в Hibernate, однако мы используем spring-jdbc и не имеем hibernate impl. это, по-видимому, предполагает, что значение изоляции может быть предоставлено вручную как-то.

<property name=”hibernate.connection.isolation”>4096</property> 

Кто-нибудь знает, как получить Spring для использования изоляции SQL Server Snapshot для транзакций?

ответ

3

4096 - код для изоляции SNAPSHOT, см. Сообщение here, вы должны установить уровень изоляции на объекте подключения, я не думаю, что вы можете достичь этого с помощью @Transactional, вы можете использовать другие решения для транзакций, предоставляемые весной, TransactionTemplate.

+0

Hi gbagga, полезный наконечник. Я буду смотреть в TransactionTemplate дальше и отчитываться. – Syntax

+1

Спасибо gbagga, TransactionTemplate.setIsolationLevel с правильным кодом - именно то, что мы ищем. Для всех, кто читает этот вопрос с аналогичным намерением, я еще не настроил базу данных и не протестировал это; однако я не вижу причин, по которым он не должен работать, если вы правильно настроите изоляцию снимков (на БД и транзакцию). – Syntax

+0

добро пожаловать !!! –

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