gpt4 book ai didi

java - 告诉 Hibernate 从脏检查中忽略属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:02 24 4
gpt4 key购买 nike

这几天我一直在想办法解决这个问题。 hibernate 没有提供现成的注释来从脏检查中排除属性是很糟糕的。这是问题所在,我有一个类如下

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

@Column
Date lastUpdateDate
@Column
String lastUpdateBy
}

我想从脏检查中排除 lastUpdateDate 和 lastUpdateBy!这是我正在做的

  1. 使用 Dynamic-Update = true

  2. 使用拦截器和覆盖 findDirty 方法来告诉 hibernate 对象是否脏(这里,previousState 始终为 null,因为对象是 transient 的,所以无法比较旧值)

  3. merge 会解决这个问题,但它会导致性能问题(几百万条记录)所以我必须使用 saveOrUpdate,它不会将 previousState 传递给 Interceptor

还有其他方法可以解决这个问题吗?

最佳答案

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

DOCS

关于java - 告诉 Hibernate 从脏检查中忽略属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33930120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com