我使用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注释时有什么错误?