首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

spring boot中的mongodb审计,用于保存createdDate、lastModifiedDate、createdBy、lastModifiedBy

Spring Boot中的MongoDB审计是一种机制,用于在MongoDB数据库中保存实体对象的创建日期、最后修改日期、创建者和最后修改者的信息。它可以帮助开发人员跟踪和记录实体对象的变更历史。

具体来说,Spring Boot中的MongoDB审计通过以下方式实现:

  1. 创建日期(createdDate):在实体对象被创建时,自动将当前日期时间戳保存到createdDate字段中。
  2. 最后修改日期(lastModifiedDate):在实体对象被修改时,自动更新lastModifiedDate字段为当前日期时间戳。
  3. 创建者(createdBy):在实体对象被创建时,可以通过配置指定创建者的信息,并将其保存到createdBy字段中。
  4. 最后修改者(lastModifiedBy):在实体对象被修改时,可以通过配置指定最后修改者的信息,并将其保存到lastModifiedBy字段中。

这些审计字段可以在实体对象中定义为相应的属性,并通过使用Spring Data MongoDB的注解来实现自动填充和更新。

使用Spring Boot中的MongoDB审计可以带来以下优势:

  1. 历史记录:审计功能可以帮助开发人员了解实体对象的创建和修改历史,方便追踪和排查问题。
  2. 安全性:通过记录创建者和最后修改者的信息,可以增加数据的安全性和责任追溯性。
  3. 便捷性:审计功能可以自动处理审计字段的填充和更新,减少了手动编写和维护这些逻辑的工作量。

Spring Boot中的MongoDB审计适用于需要记录实体对象变更历史的场景,例如用户管理系统、订单管理系统等。

对于实现Spring Boot中的MongoDB审计,可以使用Spring Data MongoDB提供的相关注解和配置。以下是一些腾讯云相关产品和产品介绍链接地址,可以用于支持Spring Boot中的MongoDB审计:

  1. 腾讯云MongoDB:提供高性能、可扩展的MongoDB数据库服务。链接地址:https://cloud.tencent.com/product/cdb_mongodb
  2. 腾讯云云数据库MongoDB:提供全托管的MongoDB数据库服务,支持自动备份、容灾等功能。链接地址:https://cloud.tencent.com/product/cdb_mongodb
  3. 腾讯云云函数(SCF):可以结合云函数实现审计字段的自动填充和更新逻辑。链接地址:https://cloud.tencent.com/product/scf

请注意,以上链接仅供参考,具体选择和配置相关产品应根据实际需求和项目要求进行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Data JPA 自动保存操作人 操作时间等

有些业务数据需要对数据创建人、创建时间、最后更新人和最后更新时间进行记录。如果使用Spring Data Jpa做数据新增或更新,可实现自动保存这些信息而不需要显式设置对应字段值。...实现自动记录上述信息主要有5个注解: @EnableJpaAuditing:审计功能开关 @CreatedBy:标记数据创建者属性 @LastModifiedBy:标记数据最近一次修改者属性 @CreatedDate...:标记数据创建日期属性 @LastModifiedDate:标记数据最近一次修改日期属性 依赖引用 使用Spring Data JPA要引用依赖spring-boot-starter-data-jpa...@CreatedBy @Column(name = "created_by") private String createdBy; //保存最近修改人字段...@CreatedDate @Column(name = "created_date") //保存最近修改日期字段 private Date createdDate;

1.4K30

Spring Data Commons审计

基于注释审计元数据 我们提供 CreatedByLastModifiedBy 操作创建或实体修改用户,CreatedDateLastModifiedDate 启动更改时间。...示例75.一个被审计实体 类客户{ 由...制作 私人用户用户; 创建日期 私人即时 createdDate; //...省略更多属性 } 如您可以有选择地注释,具体可用于您要应用信息。...审计嵌入实体元数据 类客户{ 私有审计元数据审计元数据; //...省略更多属性 } 类审计元数据{ 由...制作 私人用户用户; 创建日期 私人即时 createdDate; } 7.1.2....审计员意识 如果您使用@CreatedBy 或@LastModifiedBy审计基础结构需要以某种方式了解当前主体。...反应式审计员 使用反应式基础架构时,您可能希望使用上下文信息来提供@CreatedBy提供@LastModifiedBy信息。

64010

Spring Data JPA 时间注解:@CreatedDate 和 @LastModifiedDate

选择 Spring Data JPA 框架开发时,常用在实体和字段上注解有@Entity、@Id、@Column等。在表设计规范,通常建议保留有两个字段,一个是更新时间,一个是创建时间。...Spring Data JPA 提供了相应时间注解,只需要两步配置,就可以帮助开发者快速实现这方面的功能。...在实体类上加上注解 @EntityListeners(AuditingEntityListener.class),在相应字段上添加对应时间注解 @LastModifiedDate 和 @CreatedDate...Data JPA 还提供 @CreatedBy 和 @LastModifiedBy 注解,用于保存和更新当前操作用户信息(如id、name)。...lastModifiedBy; // 省略getter和setter 配置实现AuditorAware接口,以获取字段需要插入信息: @Configuration public class

6.2K30

Spring Data JPA 时间注解:@CreatedDate 和 @LastModifiedDate

选择 Spring Data JPA 框架开发时,常用在实体和字段上注解有@Entity、@Id、@Column等。在表设计规范,通常建议保留有两个字段,一个是更新时间,一个是创建时间。...Spring Data JPA 提供了相应时间注解,只需要两步配置,就可以帮助开发者快速实现这方面的功能。...在实体类上加上注解 @EntityListeners(AuditingEntityListener.class),在相应字段上添加对应时间注解 @LastModifiedDate 和 @CreatedDate...Data JPA 还提供 @CreatedBy 和 @LastModifiedBy 注解,用于保存和更新当前操作用户信息(如id、name)。...lastModifiedBy; // 省略getter和setter 配置实现AuditorAware接口,以获取字段需要插入信息: @Configuration public class

4K10

Spring认证中国教育管理中心-Spring Data JPA 参考文档七

基于注释审计元数据 我们提供@CreatedBy并@LastModifiedBy捕获创建或修改实体用户,@CreatedDate并@LastModifiedDate捕获更改发生时间。...一个被审计实体 class Customer { @CreatedBy private User user; @CreatedDate private Instant createdDate; //...} class AuditMetadata { @CreatedBy private User user; @CreatedDate private Instant createdDate; } 基于接口审计元数据...它公开了所有审计属性 setter 方法。 AuditorAware 如果您使用@CreatedBy或@LastModifiedBy审计基础结构需要以某种方式了解当前主体。...通常,定义审计元数据基于注释方法是首选,因为它侵入性更小且更灵活。 5.1.10. JPA审计 常规审计配置 Spring Data JPA 附带一个实体侦听器,可用于触发审计信息捕获。

1K20

Spring认证中国教育管理中心-Spring Data Couchbase教程三

审核工作由标注领域有@CreatedBy,@CreatedDate,@LastModifiedBy和@LastModifiedDate。持久化实体时,框架将自动在这些字段上注入正确值。...要配置审计,首先需要在上下文中有一个审计感知 bean。所说 bean 必须是类型AuditorAware(允许产生一个可以存储在T我们之前看到类型 xxxBy 字段值)。...; @CreatedBy private String creator; @LastModifiedBy private String lastModifiedBy; @LastModifiedDate...Spring Data 存储库文档和您模块 本章介绍 Spring Data 存储库核心概念和接口。本章信息来自 Spring Data Commons 模块。...如果您将存储库抽象用于任何其他存储,则需要将其更改为存储模块适当命名空间声明。换句话说,您应该交换jpa,例如,mongodb

1.7K30

Maven工程搭建spring boot+spring mvc+JPA

添加Spring boot支持,引入相关包: 1、maven工程,少不了pom.xml,spring boot引入可参考官网: org.springframework.boot...classpath外边,方便在不重新打包情况下修改,spring boot工程一般都打成jar包: import java.io.File; import java.io.FileInputStream...; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy...属性不能为空") public String name; @CreatedBy public String createBy; @CreatedDate...,update表示当实体类属性发生变化时,表结构跟着更新, 这里我们也可以取值create,这个create表示启动时候删除上一次生成表,并根据实体类重新生成表, 这个时候之前表数据就会被清空

41710

Spring Data JDBC参考文档四

在单个实现类组合多个实体回调接口。 9.11. 自定义转化 Spring Data JDBC 允许注册自定义转换器以影响值在数据库映射方式。目前,转换器仅应用于属性级别。 9.11.1....基于注释审计元数据 我们提供@CreatedBy并@LastModifiedBy捕获创建或修改实体用户,@CreatedDate并@LastModifiedDate捕获更改发生时间。...一个被审计实体 class Customer { @CreatedBy private User user; @CreatedDate private Instant createdDate; //...} class AuditMetadata { @CreatedBy private User user; @CreatedDate private Instant createdDate; } 基于接口审计元数据...它公开了所有审计属性 setter 方法。 AuditorAware 如果您使用@CreatedBy或@LastModifiedBy审计基础结构需要以某种方式了解当前主体。

1.1K10

使用EF6简实现多租户应用

什么是多租户 网上有好多解释,有些上升到了架构设计,让你觉得似乎非常高深莫测,特别是目前流行ABP架构中就有提到多租户(IMustHaveTenant),其实说简单一点就是再每一张数据库添加一个...TenantId字段,用于区分属于不同租户(或是说不同用户组)数据。...关键是现实方式必须对开发人员来说是透明,不需要关注这个字段信息,由后台或是封装在基类实现数据筛选和更新。...接下来就是用户登录时候获取用户信息时候把TenantId保存起来,asp.net mvc(不是 core) 是通过 Identity 2.0实现认证和授权,这里需要重写部分代码来实现。...auditableEntity.Entity.LastModifiedDate = currentDateTime; 37 auditableEntity.Entity.LastModifiedBy

99910

Jpa配置实体类创建时间更新时间自动赋值,@CreateDate,@LastModifiedDate

@CreatedDate、@LastModifiedDate、@CreatedBy、@LastModifiedBy前两个注解就是起这个作用,后两个是设置修改人和创建人,这里先不讨论。...首先,我们很多实体类都是需要创建时间和更新时间,我们不想在每个实体类里都去定义这两个字段,那么我们把它抽取到基类,让实体类去继承它。...做完这些,我们来测试一下,新建个Springboot项目,配置一下数据库信息 spring: jpa: database: mysql show-sql: true hibernate...org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest...然后试试update,将上面的update注释放开。 ? 可以看到更新时间也自动修改了。 需注意,如果你没有修改任何字段值的话,即便走了save方法,updateTime也是不会更改

4.7K50

Java开发如何自动填充SQL语句中公共字段

Spring Data框架中提供@CreatedBy和@LastModifiedBy来捕捉谁创建或修改实体以及@CreatedDate和@LastModifiedDate来捕捉何时创建或修改了实体。...如果你使用相关框架就可以使用这些特性。那么其实我们知道国内Spring Data JDBC、Spring Data JPA并不是主流,主流是Mybatis。那么我们有哪些选择?...2.1 开发 Mybatis 审计插件 如果你使用了原生Mybatis可以编写一个审计插件来实现这些功能。我在之前讲解过Mybatis插件教程,并不是非常难事。...总结 今天我们 SQL 审计一些公共字段自动填充常用方案进行了一些介绍,特别对Mybatis Plus提供功能进行了介绍相信能够帮助你简化一些样板代码编写。...但是 SQL 审计并不仅仅这么简单,根据你业务不同会有不同设计。

2K10

如何自动填充SQL语句中公共字段

Spring Data 框架中提供 @CreatedBy 和 @LastModifiedBy 来捕捉谁创建或修改实体以及 @CreatedDate 和 @LastModifiedDate 来捕捉合适创建或修改了实体...如果你使用相关框架就可以使用这些特性。那么其实我们知道国内 Spring Data JDBC 、 Spring Data JPA 并不是主流,主流是 Mybatis 。那么我们有哪些选择?...2.1 开发Mybatis审计插件 如果你使用了原生 Mybatis 可以编写一个审计插件来实现这些功能。我在之前讲解过 Mybatis 插件教程,并不是非常难事。...总结 今天我们SQL审计一些公共字段自动填充常用方案进行了一些介绍,特别对 Mybatis Plus 提供功能进行了介绍相信能够帮助你简化一些样板代码编写。...但是SQL审计并不仅仅这么简单,根据你业务不同会有不同设计。

2.2K30
领券