Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用spring数据jpa将审核行添加到审核表_Java_Spring_Hibernate_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 如何使用spring数据jpa将审核行添加到审核表

Java 如何使用spring数据jpa将审核行添加到审核表,java,spring,hibernate,spring-boot,spring-data-jpa,Java,Spring,Hibernate,Spring Boot,Spring Data Jpa,我随时都有一个“用户”表,如果插入、更新或删除了一行,那么我需要在“用户审核”表中插入一行,其中包含所有用户数据和操作列,以记录执行的操作 我使用SpringBatch、SpringDataJPA将数据插入到用户表中 我如何使用spring data JPA在spring批处理中实现这一点,或者JPA/hibernate是否提供了任何实现?如果使用hibernate,您可以使用以下哪种实现: 审核JPA规范定义的所有映射 审核一些扩展JPA的Hibernate映射,例如自定义类型和“简单”类型

我随时都有一个“用户”表,如果插入、更新或删除了一行,那么我需要在“用户审核”表中插入一行,其中包含所有用户数据和操作列,以记录执行的操作

我使用SpringBatch、SpringDataJPA将数据插入到用户表中


我如何使用spring data JPA在spring批处理中实现这一点,或者JPA/hibernate是否提供了任何实现?

如果使用hibernate,您可以使用以下哪种实现:

  • 审核JPA规范定义的所有映射

  • 审核一些扩展JPA的Hibernate映射,例如自定义类型和“简单”类型(如字符串、整数)的集合/映射

  • 使用“修订实体”记录每个修订的数据

  • 查询实体及其关联的历史快照

然而,Envers将只审核源自Hibernate的更改

例如,如果您使用的是JPA本机查询或JDBCAPI,则不会审核这些更改。这就是为什么定义执行审计的数据库触发器通常更安全。PostgreSQL就是一个例子。

提供了3个介绍和比较:“纯jpa”、“hibernate envers”和“spring数据jpa”特定编辑之间的比较。:)