Я новичок в использовании механизма «оптимистической блокировки» - я использую hibernate (в Jboss) и Container Managed Transaction (CMT).Я хочу обработать сценарий, когда между моим считыванием сущностей и обновлением сущности кто-то другой обновляет ту же сущность (то есть строку) в БД.В таком случае я хочу выдать исключение ..
Я аннотировал свою сущность с помощью @Version - как
@Version
private Long version;
Теперь я запутался, если этого достаточно для управления версиями или мне нужноявно вызывать API EntityManager.lock () как
{
.
.
final QueryDTO queryDTO = entityManager.find(QueryDTO.class, id);
entityManager.lock(queryDTO, LockModeType.READ);
queryDTO.setStatus(updatedStatus);
entityManager.persist(queryDTO);
}
Заранее спасибо,