Bom Dia Comunidade.
Estou tendo um problema com Hibernate Envers e não consegui achar uma solução ainda para isso.
Estou tendo problemas em mapear Classes @Embeddable que tenha @ManyToOne
Segue minhas classes
@Audited
@AuditTable(value="lancamento_contabil_aud")
@Entity
@Table(name="lancamento_contabil")
public class LancamentoContabil implements Serializable {
@EmbeddedId
private LancamentoContabilPK pk;
private BigDecimal valor;
private boolean lancDeEncerramento;
private boolean inconsistente;
private boolean pendente;
@Temporal(TemporalType.DATE)
private Date data;
@OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE,
org.hibernate.annotations.CascadeType.DELETE_ORPHAN})
@JoinColumns({
@JoinColumn(name="numero_lancamento_fk", referencedColumnName="numeroLancamento"),
@JoinColumn(name="ano_lancamento_fk", referencedColumnName="ano"),
@JoinColumn(name="colaborador_lancamento_fk", referencedColumnName="colaborador_cod_fk")
})
private List<ItemLancContabil> itensLancContabil;
A PK
@Embeddable
public class LancamentoContabilPK implements Serializable {
@Column(nullable=false)
private Integer numeroLancamento;
@Column(nullable=false)
private Integer ano;
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="colaborador_cod_fk", referencedColumnName="cod", nullable=false, insertable=false, updatable=false)
private Colaborador colaborador;
Ja tentei de varias formas esses mapeamentos mas não tive sucesso em nenhum.
Segue o stacktrace
Caused by: org.hibernate.HibernateException: could not init listeners
at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:205)
at org.hibernate.cfg.Configuration.getInitializedEventListeners(Configuration.java:1980)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1842)
at br.com.optimuslabs.infra.persistence.MultiSchemaSessionFactory.createSessionFactory(MultiSchemaSessionFactory.java:90)
at br.com.optimuslabs.infra.persistence.MultiSchemaSessionFactory.createGlobalSessionFactory(MultiSchemaSessionFactory.java:76)
at br.com.optimuslabs.infra.persistence.MultiSchemaSessionFactory.create(MultiSchemaSessionFactory.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:340)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:293)
at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
... 104 more
Caused by: org.hibernate.MappingException: Type not supported: org.hibernate.type.ManyToOneType
at org.hibernate.envers.configuration.metadata.IdMetadataGenerator.addIdProperties(IdMetadataGenerator.java:75)
at org.hibernate.envers.configuration.metadata.IdMetadataGenerator.addId(IdMetadataGenerator.java:120)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateFirstPass(AuditMetadataGenerator.java:410)
at org.hibernate.envers.configuration.EntitiesConfigurator.configure(EntitiesConfigurator.java:102)
at org.hibernate.envers.configuration.AuditConfiguration.
at org.hibernate.envers.configuration.AuditConfiguration.getFor(AuditConfiguration.java:129)
at org.hibernate.envers.event.AuditEventListener.initialize(AuditEventListener.java:337)
at org.hibernate.event.EventListeners$1.processListener(EventListeners.java:198)
at org.hibernate.event.EventListeners.processListeners(EventListeners.java:181)
at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:194)
... 116 more
Alguém ja trabalho com o Envers com esse tipo de relacionamento?
Tem solução, Será um BUG?
Fazem 3 dias já que estou procurando e até agora não tive sucesso.
Se alguém puder dar uma luz ficarei muito grato.