【问题标题】:how to configure hibernate not to update @Version on each access to entity如何配置休眠不在每次访问实体时更新@Version
【发布时间】:2011-03-16 07:56:07
【问题描述】:

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

有什么方法可以实现吗?如果是这样,有没有办法以某种方式将其设置为 persistence.xml 中的默认行为?

我在 hibernate 3.6 上使用 jpa2

【问题讨论】:

    标签: hibernate jpa


    【解决方案1】:

    有一个打开的Hibernate bug 与读取操作的版本增量有关,它在以下情况下发生:

    1. 实体有一个或多个组件类
    2. 组件/子类必须使用自定义用户类型
    3. 读操作被事务覆盖

    它被标记为严重,因此有望在不久的将来的版本中得到解决。

    【讨论】:

    • 根据提到的错误报告,这不是错误,而是错误的自定义用户类型
    猜你喜欢
    • 2013-07-24
    • 1970-01-01
    • 2020-02-16
    • 2016-12-20
    • 2011-12-15
    • 2018-10-24
    • 2015-02-18
    • 2019-06-22
    • 2014-11-19
    相关资源
    最近更新 更多