我一直试图从几天开始解决该问题。休眠状态没有提供立即可用的注释以从脏检查中排除属性是很糟糕的。
这是问题,我有一个如下课

Class A {
@Column
Property 1
@Column
Property 2..etc

@Column
Date lastUpdateDate
@Column
String lastUpdateBy
}

我想从脏支票中排除lastUpdateDate和lastUpdateBy!
这是我在做什么

使用Dynamic-Update =
  • =真
  • 使用拦截器并覆盖findDirty方法来告诉休眠对象是否脏(此处,因为对象是瞬态的,所以previousState始终为null,因此无法比较旧值)
  • merge将解决此问题,但它会导致性能问题(几百万条记录),因此我必须使用saveOrUpdate,它不会将previousState传递给Interceptor

  • 还有其他方法可以解决此问题吗?

    最佳答案

    您可以使用@OptimisticLock(excluded = true)将其从脏检查中排除。

    DOCS

    10-05 23:18