При каких обстоятельствах было бы целесообразно явно исключить оптимистическую блокировку из отношений @OneToMany через Hibernate?
Я читал сообщение о Hibernate, которое в основном говорит, что любые обновления дочерних объектов вызовут оптимистичную блокировку родительского объекта, в которой обычно нет необходимости. Ключевое слово здесь обычно ... может ли кто-нибудь более точно объяснить, когда вам нужна или не нужна оптимистическая блокировка для таких отношений?
Вот пример кода, показывающий оптимистическое исключение блокировки:
// Bars - these are specifically excluded from optimist lock
// for the object, since we don't want to obtain optimistic
// lock when we add a new bar
@OptimisticLock(excluded = true)
@OneToMany
@JoinColumn(name = "FOO_ID", nullable = false, updatable = false)
private List<FooBar> bars = new LinkedList<FooBar>();