Como não auditar uma tabela de junção e entidades relacionadas usando o Hibernate Envers?

Eu uso o Hibernate Envers para auditar minhas entidades.

Eu tenho uma entidade auditadaFoo, que tem umList<Bar> como propriedades. No entanto, não quero auditarBar entidades. Assim, escrevi isso:

@Entity
@Audited
public class Foo {

    @JoinTable(name = "T_FOO_BAR", joinColumns = @JoinColumn(name = "FOO_ID"), inverseJoinColumns = @JoinColumn(name = "BAR_ID"))
    @ManyToMany(cascade = PERSIST)
    @Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
    public List<Bar> getBars() {
        return bars;
    }

}

Agora, quero recuperar uma revisão deFoo:

    AuditReader reader = AuditReaderFactory.get(getEntityManager());
    Foo revision = (Foo) reader.createQuery().forEntitiesAtRevision(Foo.class, 42).getSingleResult();

Infelizmente, quando quero recuperar todos os dados (ou seja, quando carrega preguiçosamentebars), Recebo o erroORA-00942: table or view does not exist, como tentou consultar:

select ... from T_FOO_BAR_AUD x, T_BAR y where ...

Eu pensei que usando@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED), O Hibernate Envers manteria os links com oBar itens doatual entidade.

Então, como posso resolver meu problema sem ter que fazer uma auditoria explícita nas tabelas?T_BAR eT_FOO_BAR (a tabela de junção)? Em outras palavras, quando eu recuperar a lista debars da minha entidade de revisão, eu recebo a lista debars da minha entidade atual (como os links entreFoo eBar não são auditados).

Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion