我使用Spring Boot 1.3.2和Spring Data JPA 1.9.4与MS Sql server2014数据库进行映射多对多关系的过程 .
我有两个表实体Book&Publisher . 他们与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注释有什么不对?