Java Spring Mongo审核在@CreatedDate@CreatedBy处不起作用
我正在使用Spring Mongo审计和@CreatedDate@CreatedBy不工作,但@LastModifiedDate和@LastModifiedBy工作正常 我在一个配置类上添加了@EnableMongoAuditing,还定义了AuditAwareJava Spring Mongo审核在@CreatedDate@CreatedBy处不起作用,java,spring-data-mongodb,auditing,Java,Spring Data Mongodb,Auditing,我正在使用Spring Mongo审计和@CreatedDate@CreatedBy不工作,但@LastModifiedDate和@LastModifiedBy工作正常 我在一个配置类上添加了@EnableMongoAuditing,还定义了AuditAware @Component("securityAuditorAware") public class SecurityAuditorAware implements AuditorAware<String> { @Overri
@Component("securityAuditorAware")
public class SecurityAuditorAware implements AuditorAware<String> {
@Override
public Optional<String> getCurrentAuditor() {
return Optional.ofNullable(SecurityUtils.getUserPrincipal()).map(AuthenticatedUser::getIssuer);
}
}
当我保存文档时,它在createdOn和createdBy中都设置为null,但在modifiedOn和modifiedBy中都设置了正确的值
感谢您的帮助如果您的实体没有继承持久化接口,您应该定义一个由@Version(org.springframework.data.annotation.Version)标记的字段 另一方面,如果您的实体继承
可持久化
接口,您应该实现逻辑接口来检测以前从未持久化过的实体
有关详细信息,您可以选中两个类:persistententyisnewstrategy
和persistenableisnewstrategy
@Document
public class Template {
@Id
private UUID id = UUID.randomUUID();
@CreatedDate
private Date createdOn;
@LastModifiedDate
private Date modifiedOn;
@CreatedBy
private String createdBy;
@LastModifiedBy
private String modifiedBy;
}
@Document
public class Template {
@Id
private UUID id = UUID.randomUUID();
@CreatedDate
private Date createdOn;
@LastModifiedDate
private Date modifiedOn;
@CreatedBy
private String createdBy;
@LastModifiedBy
private String modifiedBy;
@Version
private Integer version;
}