如何使用SpringBoot + MongoDB自动生成日期

时间:2017-09-23 20:56:42

标签: java mongodb spring-boot

我正在使用Spring Boot来访问我的MongoDB数据库。我有一个名为User的实体和一个UserRepository来进行CRUD操作。我希望每次添加用户时,它都会添加创建和更新日期。 使用传统的SQL数据库和JPA,我会使用@PrePersist和@PreUpdate。

在这种情况下,最好的方法是什么?

我粘贴下面的用户代码(但它非常简单):

public class User {

    @Id
    public String id;

    public String username;

    public String password;

}

UserRepository:

@RepositoryRestResource(collectionResourceRel = "users", path="users")
    public interface UsersRepository extends MongoRepository<User, String>{

    public User findByUsername(String username);

}

1 个答案:

答案 0 :(得分:1)

您必须启用审核功能并更新User域对象。

  • 添加joda-time maven依赖。

    <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9.9</version> </dependency>

  • 在弹簧配置中启用审核支持。

    <mongo:auditing />

  • User中再添加2个属性。

@CreatedDate
private DateTime createdOn;

@LastModifiedDate
private DateTime updatedOn;

请注意,只有在设置了Id字段时才会首次添加createdOn