【问题标题】:How to get the database snapshot of a Hibernate Managed Entity just before it is flushed如何在刷新之前获取 Hibernate 托管实体的数据库快照
【发布时间】:2015-05-03 13:11:08
【问题描述】:

我想知道 Hibernate 是否可以在更新之前检索实体的原始字段值?

例如,拥有实体

class StkItem {
     private int Qty;
}

用户输入一个新数量后,在保存新值之前,我能知道Qty的数据库值是多少吗?

【问题讨论】:

    标签: java database hibernate orm flush


    【解决方案1】:

    您可以配置自定义Hibernate Interceptor 并覆盖onFlushDirty 方法,其中包含批量旧状态和新状态:

    • 对象实体,
    • 可序列化的 ID,
    • Object[] 当前状态,
    • Object[] 以前的状态,
    • String[] 属性名,
    • Type[] 类型

    【讨论】:

      猜你喜欢
      • 2014-11-17
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-17
      • 2013-04-02
      • 2020-07-11
      相关资源
      最近更新 更多