我有一个实体的版本:休眠。乐观锁定。选择即使它产生它
<class name="name.dargiri.model.Entity" table="ENTITY" optimistic-lock="version">
<version name="version" column="ver" type="long" />
</class
如果实体保存无论多少次,交易的结束休眠选择的对象的版本。为什么? Hibernate在存储对象时生成这个版本,所以它知道它。我发现这个方法调用此:
EntityVerifyVersionProcess#getCurrentVersion()
Hibernate的日志中生成此:
Hibernate:
/* update
name.dargiri.model.Entity */ update
ENTITY
set
ver=?,
USERNAME=?,
lucky_number=?
where
id=?
and ver=?
Hibernate:
/* get version name.dargiri.model.Entity */ select
ver
from
ENTITY
where
id =?
我使用MySQL和会话#保存()。
我想了一下,回想起第一次保存后我没有刷新。每次更新后都会尝试刷新,可能会导致在每次保存()后进行选择。 – 2012-04-23 10:38:59