Java @使用Hibernate envers审核多对多关系时AuditJoinTable不工作

Java @使用Hibernate envers审核多对多关系时AuditJoinTable不工作,java,spring,hibernate,jpa,hibernate-envers,Java,Spring,Hibernate,Jpa,Hibernate Envers,我正在使用Spring Boot 1.3.2和Spring Data JPA 1.9.4以及MS Sql Server 2014数据库来处理映射多对多关系的过程 我有两张带有实体Book&Publisher的表格。其中,它们与BookPublisher表和BookPublisher实体具有多对多关系 我使用HibernateEnvers4.3.3Final来审计每个实体的数据。Book_AUD和Publisher_AUD和BookPublisher_AUD表是通过在每个实体上放置@Audited

我正在使用Spring Boot 1.3.2和Spring Data JPA 1.9.4以及MS Sql Server 2014数据库来处理映射多对多关系的过程

我有两张带有实体Book&Publisher的表格。其中,它们与BookPublisher表和BookPublisher实体具有多对多关系

我使用HibernateEnvers4.3.3Final来审计每个实体的数据。Book_AUD和Publisher_AUD和BookPublisher_AUD表是通过在每个实体上放置@Audited注释自动创建的

Book_AUD和Publisher_AUD在审核插入、更新和删除时工作正常

将记录与publisher记录集一起保存在Book表中时,记录将保存到联接表中。但审计只在插入BookPublisher_AUD表时发生,而不是在更新删除表时发生

我使用@AuditJoinTable注释来审核关系映射表,如下所示

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "BookPublisher", joinColumns = @JoinColumn(name = "BookId", referencedColumnName = "BookId"), inverseJoinColumns = @JoinColumn(name = "PublisherId ", referencedColumnName = "PublisherId"))
    @WhereJoinTable(clause = "isActive = 1 ")
    @AuditJoinTable
    private Set<Publisher> publishers;
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name=“BookPublisher”,joinColumns=@JoinColumn(name=“BookId”,referencedColumnName=“BookId”),inverseJoinColumns=@JoinColumn(name=“PublisherId”,referencedColumnName=“PublisherId”))
@其中Jointable(子句=“isActive=1”)
@审计接合表
私人出版公司;

是否有任何方法可以审核hibernate envers中的关系映射表,或者使用@AuditJoinTable注释时有任何错误?

首先,只有在希望为联接表指定特定名称时才应使用
@AuditJoinTable
,否则它什么也不做,envers已经知道如何处理
@JoinTable
。我真的不明白你们是如何定义审计失败的,你们能在你们的表格中张贴数据的例子吗?您的hibernate配置?是否更改了envers的默认属性?我对hibernate envers非常陌生,所以我只是将@Audited注释添加到Book和publisher实体以进行审计,而不是添加到BookPublisher实体。我删除了Book entity中集合映射元素中的AuditJoinTable注释,但没有使用。我在我的应用程序属性文件中只添加了三个属性,如下所示:spring.jpa.hibernate.ddl auto=update spring.jpa.properties.org.hibernate.envers.audit\u table\u suffix=audit仍然无法捕获更新和删除记录。所以,您可以给出示例代码来证明解决方案。我做了代码更改,现在只在通过图书存储库从图书实体插入和删除集合发布者对象时进行审核。hibernate envers中是否存在不支持直接与BookPublisher存储库交互的限制?@SatishKonda您好,我也面临同样的问题,您找到了解决方案吗?