Java 冬眠:什么';@AuditTable和@AuditJoinTable之间的区别是什么

Java 冬眠:什么';@AuditTable和@AuditJoinTable之间的区别是什么,java,hibernate,Java,Hibernate,我有一个hibernate问题:@AuditTable和@AuditJoinTable之间有什么区别,它们各自的用例是什么?@AuditTable 第七章。生成的表及其内容 对于每个审计实体(即,对于每个实体,至少包含 一个审核字段),创建一个审核表。默认情况下,审计 表的名称是通过在原始表中添加“_AUD”后缀创建的 名称,但这可以通过指定不同的后缀/前缀来覆盖 (见第3章,配置)或使用 @AuditTable注释 审核表包含以下字段: 原始实体的id(如果使用 嵌入式或多个id) 修订号-一

我有一个hibernate问题:@AuditTable和@AuditJoinTable之间有什么区别,它们各自的用例是什么?

@AuditTable

第七章。生成的表及其内容

对于每个审计实体(即,对于每个实体,至少包含 一个审核字段),创建一个审核表。默认情况下,审计 表的名称是通过在原始表中添加“_AUD”后缀创建的 名称,但这可以通过指定不同的后缀/前缀来覆盖 (见第3章,配置)或使用 @AuditTable注释

审核表包含以下字段:

原始实体的id(如果使用 嵌入式或多个id)

修订号-一个整数

修订类型-小整数

来自原始实体的已审核字段

@审计接合表

9.3@OneToMany+@JoinColumn

当使用这两个注释映射集合时,Hibernate 不生成联接表。然而,Envers必须这样做,所以 当您阅读相关实体包含的修订时 改变,你不会得到错误的结果

为了能够命名附加联接表,有一个特殊的 注释:@AuditJoinTable,其语义与JPA的类似 @可接合的

此外,@AuditTable应用于@Target(value=TYPE),而@AuditJoinTable应用于@Target(value={FIELD,METHOD})

@审核表:


@AuditTable:

很乐意帮忙:)