After adding a parent entity like
{code:java}@Entity @Audited @Inheritance(strategy·=·InheritanceType.TABLE_PER_CLASS) public a { }{code}
to a pre-existing entity
{code:java}@Entity @Table(name = "b") @Audited(withModifiedFlag = true) @AuditTable(value = "bAudit") public class b extends a { }{code}
The following excpetion pops up and the application fails to start:
{code:java}Caused by: java.lang.ClassCastException: class org.hibernate.mapping.Table cannot be cast to class org.hibernate.mapping.DenormalizedTable (org.hibernate.mapping.Table and org.hibernate.mapping.DenormalizedTable are in unnamed module of loader 'app') at org.hibernate.boot.model.relational.Namespace.createDenormalizedTable(Namespace.java:102) at org.hibernate.boot.model.source.internal.hbm.ModelBinder.bindEntityTableSpecification(ModelBinder.java:2892) at org.hibernate.boot.model.source.internal.hbm.ModelBinder.bindUnionSubclassEntity(ModelBinder.java:678) at org.hibernate.boot.model.source.internal.hbm.ModelBinder.bindUnionSubclassEntities(ModelBinder.java:661) at org.hibernate.boot.model.source.internal.hbm.ModelBinder.bindEntityHierarchy(ModelBinder.java:214) at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:310) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:904) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:935) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:390) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774){code}
The mapping works and the exception goes away if the @ Audittable AuditTable annotation id is removed from class “b”.
|
|