如何解决使用Spring Data JPA @LastModifiedDate从审计中排除某些字段
我有一个名为User的实体。该实体包含多个字段,其中一个是lastModifiedDate
:
@LastModifiedDate
@Column(name = "last_modified_date",columnDefinition = "DATETIME")
private ZonedDateTime lastModifiedDate;
每次更新表时,此字段也会更新。哪个本身很好。
问题在于,在同一个实体中,我还有另一个称为loginTime
的字段:
@Column(name = "login_time",columnDefinition = "DATETIME")
private ZonedDateTime loginTime;
每当新用户登录到应用程序时,此字段就会更新。
但是,当用户登录时,由于loginTime
字段已更新,因此lastModifiedDate
字段也随之更新。
是否有一种方法可以防止在更新特定字段(例如lastModifiedDate
)时更新loginTime
?
谢谢
解决方法
您可以通过使用@Query
的JPQL更新查询来仅更新loginTime
字段,然后lastModifiedDate
字段将不会更新。
@Modifying
@Query("update User u set u.loginTime = :loginTime where u.id = :id")
int updateLoginTime(@Param("loginTime") ZonedDateTime loginTime,@Param("id") Integer id);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。