Когда явно исключать оптимистическую блокировку (Hibernate)?

При каких обстоятельствах было бы целесообразно явно исключить оптимистическую блокировку из отношений @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>();
7
задан Ben Simmons 14 June 2011 в 18:00
поделиться