我正在玩 spring-data 和 mongodb。我想要实现的是在创建和/或更新对象时自动设置 createdOn 和 updatedOn 日期。所以我基本上创建了一个包含 createdOn 和 updatedOn 日期属性的“BaseDocument”,并创建了一个 AbstractMongoDbListener 以便我可以在保存(onBeforeSave)之前拦截文档,然后设置这些日期。问题是,如果我不将这些日期添加到扩展 BaseDocument 的类的构造函数中,则这些日期不会持久保存到数据库中。子类需要在其构造函数上使用 createdOn 和 updatedOn 才能使这些持久化,这与自动创建这些日期的想法相混淆。什么是实现它的好策略?
提前致谢!
最佳答案
审计支持已在 Spring Data MongoDB 1.2.0 中实现。为了使用你需要在你的类路径上有 joda-time 并将创建和修改日期的类型设置为 DateTime。所有必需的步骤
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.2</version>
</dependency>
<mongo:auditing />
@CreatedDate
private DateTime created;
@LastModifiedDate
private DateTime modified;
请记住:仅当您保存没有 _id 字段集的文档时,才会设置创建日期。
关于java - 自动设置 createdOn 和 UpdatedOn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445592/