什么时候明确排除乐观锁定(休眠)?
|
在什么情况下通过Hibernate从@OneToMany关系中显式排除乐观锁定是否合适?
我一直在阅读有关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>();
没有找到相关结果
已邀请:
1 个回复
鞋扣蚊冈借
组成的of1ѭ以相同的形式呈现给用户,可以是这种关系的一个例子。 否则,当应单独修改儿童时,应将其排除在乐观锁定之外。 ѭ3example和
可以作为这种情况的示例。 从技术上讲,这个问题与关系的方向性有关。乐观锁定的目的是防止丢失修改,因此,在可能丢失修改的情况下,需要针对一对多关系启用它。当父母是关系的拥有方时,换句话说,当一对多关系是单向的时,会发生这种情况(请注意,对诸如
-
之类的关系进行建模是自然的选择)。 在双向一对多关系的情况下,\“多\”侧是该关系的拥有侧,因此,在\“ one \”侧的关系修改不会影响数据库,因此它们可以\不会迷路。