如何配置hibernate不要在每次访问实体时更新@Version

时间:2011-03-16 07:56:08

标签: hibernate jpa

我有一个返回实体的简单查询,当我查看hibernate SQL输出时,我看到当我执行此查询时,hibernate更新了@Version字段(在每次连续读取时,@ version字段都会更新)。我不修改我获取的实体中的任何内容,并且我不传递作为参数来持久或合并。这实际上意味着每次读取都会变成读取+写入。 我已经尝试将锁定模式设置为无(jpa 2)和READ(jpa 1)无效。

有没有办法实现这个目标?如果是这样,有没有办法以某种方式将此设置为persistence.xml中的默认行为?

即时通过hibernate 3.6使用jpa2

1 个答案:

答案 0 :(得分:1)

有一个与读取操作的版本增量相关的开放Hibernate bug,在以下条件下发生:

  1. 实体具有组件类或子类
  2. 组件/子类必须使用自定义usertype
  3. 读取操作由事务
  4. 涵盖

    它标记为关键,因此希望在不久的将来版本中得到解决。