2010-06-16 5 views
0
List esns=session.createQuery("from Pool e where e.status=:status "+ 
         "order by uuid asc") 
         .setString("status", "AVAILABLE") 
         .setMaxResults(n) 
         .setLockMode("e", LockMode.PESSIMISTIC_WRITE) 
         .list(); 

У меня есть указанный выше запрос, однако он не генерирует запрос for update и происходят одновременные обновления.Пессимистическая блокировка не работает с Query API

Я использую версию 3.5.2 и имеет bug in Criteria API, такая же ошибка присутствует в API запросов, или я что-то не так?

ответ

1

Попробуйте использовать LockModeType.PESSIMISTIC_FORCE_INCREMENT, посмотрите на this solution.