Spring数据mongodb审计无法正常工作..(Java配置)
作者:互联网
我目前正在使用Spring数据mongodb 1.6.0-RELEASE,我知道它有审计功能.一世
将@EnableMongoAuditing注释放在我的配置类之上.我的豆子在下面:
@Document
public class MyBean{
@Id
private AnotherCustomBean anotherCustomBean = new AnotherCustomBean();
@CreatedDate
private Date creationDate;
@LastModifiedDate
private Date lastModifiedDate;
.
.
.
当我用mongoTemplate.save(myBean)保存这个bean时;它没有设置创建日期和上次修改日期…它没有错误.
任何帮助,将不胜感激,
谢谢.
解决方法:
实际问题是@Id注释.要正确使用spring审计,你必须定义一个ObjectId(对于新保存的对象为null),这就是spring如何决定@LastModifiedDate和@CreatedDate
之后,我找到了一种方法,可以通过实现Auditable< String,String>在@Id上使用自定义bean.
感谢@Felby:
I found that the @Id field needed to be null at the time of save()
only for the @CreatedDate and @CreatedBy annotations. The
@LastModifiedDate and @LastModifiedBy fields worked regardless of
whether the @Id field was initialized or not.
标签:java,spring,mongodb,spring-mvc,spring-data-mongodb 来源: https://codeday.me/bug/20191006/1861440.html