繁体   English   中英

即使 JPA 实体不脏,我是否可以强制 spring-data 更新可审计字段?

[英]Can I force spring-data to update auditable fields even if JPA entity not dirty?

我正在使用 Spring-data-jpa 进行审计。 我本质上想“触摸”我的实体 - 我想更新 @LastModifiedDate 和 @LastModifiedBy 字段,即使我没有对对象进行任何更改。

本质上,我希望将这两个字段改为“LastAccessedBy”和“LastAccessedDate”。

即使实体不脏,有没有办法触发 Spring 数据/JPA 将实体写入数据库(从而触发 Spring 数据审计模块)?

还是我唯一的选择是修改审计字段(例如:@LastModifiedDate),然后让 spring 用更新的值覆盖它?

对于它的价值,当我希望更新此列时,即使我知道我的实体不脏,我也会自己设置lastModifiedDate

entity.setLastModifiedDate(Instant.now());

该值将被@LastModifiedDate注释覆盖,但至少我会得到我想要的。

我的情况是:我有一个表来跟踪我的文件系统上的文件,有一些功能规则要处理,如果用户上传一个与前一个同名的文件,如果我没有手动设置lastModifiedDate我可以不告诉实际上次上传日期是什么。

(我知道我应该使用新的 md5 文件来设置我的实体脏,但这会让我的经理害怕太多)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM