2013-04-10 3 views
1

У меня проблема с настройкой режима блокировки на объект.Hibernate/JPA lock OPTIMISTIC_FORCE_INCREMENT не работает

Вот код:

MyObject a = myQuery.getSingleResult(); 
logger.info(entityManager.getLockMode(a)); 
entityManager.lock(a, LockModeType.OPTIMISTIC_FORCE_INCREMENT); 
logger.info(entityManager.getLockMode(a)); 

Результат:

OPTIMISTIC 
OPTIMISTIC 

Мой объект А содержит список объектов B. Я хотел бы приращение всякий раз, когда B модифицируется, здесь поэтому я использую функцию Increment Force.

Но очевидно, что это совсем не работает. Помогите пожалуйста?

ответ

2

Таким образом, после долгих поисков, я использую Hibernate 3.6.10.Final версию, которая имеет эту превосходную ошибку: https://hibernate.atlassian.net/browse/HHH-5222

обновление с READ на OPTIMISTIC_FORCE_INCREMENT терпит неудачу

Fix Версия/с: 4.0.0.CR7

Короче говоря, по умолчанию блокировка на чтение, который имеет более высокий приоритет, чем оптимист или OPTIMISTIC_FORCE_INCREMENT, так что вы не можете изменить его.

Итак, я обновился до 4.2.0. Окончательный и все прошло нормально

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