gpt4 book ai didi

java - 自动设置 createdOn 和 UpdatedOn

转载 作者:行者123 更新时间:2023-12-02 05:51:03 24 4
gpt4 key购买 nike

我正在玩 spring-data 和 mongodb。我想要实现的是在创建和/或更新对象时自动设置 createdOn 和 updatedOn 日期。所以我基本上创建了一个包含 createdOn 和 updatedOn 日期属性的“BaseDocument”,并创建了一个 AbstractMongoDbListener 以便我可以在保存(onBeforeSave)之前拦截文档,然后设置这些日期。问题是,如果我不将这些日期添加到扩展 BaseDocument 的类的构造函数中,则这些日期不会持久保存到数据库中。子类需要在其构造函数上使用 createdOn 和 updatedOn 才能使这些持久化,这与自动创建这些日期的想法相混淆。什么是实现它的好策略?

提前致谢!

最佳答案

审计支持已在 Spring Data MongoDB 1.2.0 中实现。为了使用你需要在你的类路径上有 joda-time 并将创建和修改日期的类型设置为 DateTime。所有必需的步骤

  • 添加 maven 依赖

  •     <dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.2</version>
    </dependency>
  • 在 Spring 配置中添加对审计的支持

  •     <mongo:auditing />
  • 注释类中的属性,例如:

  •     @CreatedDate
    private DateTime created;

    @LastModifiedDate
    private DateTime modified;

    请记住:仅当您保存没有 _id 字段集的文档时,才会设置创建日期。

    关于java - 自动设置 createdOn 和 UpdatedOn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445592/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com