有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以强制springdata更新可审核字段吗,即使JPA实体不脏?

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

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

有没有办法触发Spring data/JPA将实体写入DB(从而触发Spring数据审核模块),即使实体不是脏的

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


共 (1) 个答案

  1. # 1 楼答案

    值得一提的是,当我希望更新此列时,即使我知道我的实体不是脏的,我也会自己设置lastModifiedDate

    entity.setLastModifiedDate(Instant.now());
    

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

    我的情况是:我有一个表来跟踪文件系统中的文件,需要处理一些功能规则,如果用户上传的文件与前一个文件同名,如果我不手动设置lastModifiedDate,我就无法判断实际的最后上传日期

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