@CreatedBy如何在Spring Data JPA中工作?
2022-09-03 17:42:56
我在实体属性上使用,我看到它将日期插入到数据库中。我不明白在Spring Data JPA中注释的目的是什么。@CreatedDate
@CreatedBy
在我阅读的参考文档中:
我们提供 ,以捕获创建或修改实体的用户
@CreatedBy
@LastModifiedBy
但是如何创建和使用这样的用户呢?
我在实体属性上使用,我看到它将日期插入到数据库中。我不明白在Spring Data JPA中注释的目的是什么。@CreatedDate
@CreatedBy
在我阅读的参考文档中:
我们提供 ,以捕获创建或修改实体的用户
@CreatedBy
@LastModifiedBy
但是如何创建和使用这样的用户呢?
对于 TL;DR
您的实体
@CreatedBy
private UUID modifyBy;
和您的安全AuditorAware
@Component
public class SecurityAuditorAware implements AuditorAware<UUID> {
@Override
public Optional<UUID> getCurrentAuditor() {
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication == null || !authentication.isAuthenticated()) {
return Optional.empty();
}
return Optional.of(((MyCustomUser) authentication.getPrincipal()).getId());
}
}
注意:您需要使用相同的数据类型,我使用UUID作为我的自定义用户ID。