Я пытаюсь сделать выбор в строке и обновить значение.Пока я делаю это, мне нужен эксклюзивный доступ к ряду.Другими словами, никакой другой процесс (внутри или снаружи виртуальной машины) не сможет читать строку до тех пор, пока я не обновлю строку.Текущее значение не должно быть «выбираемым».Я попробовал следующую аннотацию транзакции.
@Transactional(isolation = Isolation.SERIALIZABLE, readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Exception.class, timeout=960)
Это определенно работает в контексте Spring, но, помещая оператор сна в середине транзакции, я все еще могу выбрать текущее значение строки, используяинструмент базы данных.
Есть ли способ получить XLOCK / ROWLOCK (в зависимости от того, что подходит), используя Spring / Hibernate?
Версии:
- Spring: 3.0.5.RELEASE
- Hibernate: 3.6.3.Final
- JTDS: 1.2.4
Если я не могу использоватьSpring / Hibernate, ссылка на пример JTDS была бы очень признательна.
Спасибо.