У меня есть 2 объекта: Parent
и Child
в отношениях один-ко-многим. Parent
имеет версию, то есть имеет поле @Version. Моя цель - синхронизировать изменения как с объектами Parent
, так и с Child
на версии Parent
.Может ли Xibernate's @Version рассматривать изменения в связанных объектах?
E.g. один поток обновляет Parent
, а другой обновляет один из его Child
s, это должно вызвать исключение OptimisticLockException.
Возможно ли это?
Я попытался добавить @PreUpdate к Child
которая увеличит его версию это Parent
, но это не помогло, потому что Hibernate кажется выполнить слушатель только после того, как он проверяет версию, так что транзакции успешно в любом случае.
Если возможно, то как оно может быть реализовано?
Я думаю, что это не вариант для меня. Ребенок - это первоклассный объект с его идентификатором и состоянием, и он должен оставаться таким. Хотя ваша идея определенно является решением, она не применима для меня. – artemb
Хорошо, я понимаю. , ,Ваше требование может быть возможно с Hibernate, но я не помню, что вы должны попробовать ... извините. – KLE