@AuditJoinTable在使用Hibernate envers审核多对多关系时无法正常工作

时间:2016-10-14 11:12:26

标签: java spring hibernate jpa hibernate-envers

我使用Spring Boot 1.3.2和Spring Data JPA 1.9.4与MS Sql server2014数据库进行映射多对多关系的过程。

我有两张表格,包含实体Book&出版商。他们与BookPublisher表和BookPublisher实体有多对多的关系。

我使用hibernate envers 4.3.3 final来审核每个实体。通过在每个实体上放置@Audited注释,可以自动创建Book_AUD和Publisher_AUD以及BookPublisher_AUD表。

Book_AUD和Publisher_AUD正在正常审核插入,更新和删除。

使用发布者记录集保存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;

有没有办法在hibernate envers中审计关系映射表,或者在使用@AuditJoinTable注释时有什么错误?

0 个答案:

没有答案