简体   繁体   English

Class A 不可从 B 分配。请修改应用于 B 类型的 Envers 注释

[英]Class A is not assignable from B. Please revise Envers annotations applied to B type

I had the exceptionlike that:我有这样的例外:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.MappingException: Class rf.dom.billing.model.meta.BaseEntity is not assignable from rf.dom.billing.model.contractor.UpiIdentificator. Please revise Envers annotations applied to rf.dom.billing.model.contractor.UpiIdentificator type.
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1204)
        at rf.dom.billing.contractor.Application.main(Application.java:25)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
Caused by: org.hibernate.MappingException: Class rf.dom.billing.model.meta.BaseEntity is not assignable from rf.dom.billing.model.contractor.UpiIdentificator. Please revise Envers annotations applied to rf.dom.billing.model.contractor.UpiIdentificator type.
        at org.hibernate.envers.configuration.internal.metadata.reader.AuditedPropertiesReader.checkSuperclass(AuditedPropertiesReader.java:231)
        at org.hibernate.envers.configuration.internal.metadata.reader.AuditedPropertiesReader.readAuditOverrides(AuditedPropertiesReader.java:157)
        at org.hibernate.envers.configuration.internal.metadata.reader.AuditedPropertiesReader.read(AuditedPropertiesReader.java:126)
        at org.hibernate.envers.configuration.internal.metadata.reader.AnnotationsMetadataReader.getAuditData(AnnotationsMetadataReader.java:114)
        at org.hibernate.envers.configuration.internal.EntitiesConfigurator.configure(EntitiesConfigurator.java:65)
        at org.hibernate.envers.boot.internal.EnversServiceImpl.doInitialize(EnversServiceImpl.java:154)
        at org.hibernate.envers.boot.internal.EnversServiceImpl.initialize(EnversServiceImpl.java:118)
        at org.hibernate.envers.boot.internal.AdditionalJaxbMappingProducerImpl.produceAdditionalMappings(AdditionalJaxbMappingProducerImpl.java:101)
        at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:296)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1202)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1233)
        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)
        ... 24 common frames omitted

what could be the reason?可能是什么原因?

@AuditOverride(forClass = BaseEntity.class, isAudited = true) 

was appiled to the class which wasn't extending this BaseEnitity class (ie class B wasn't actually extending class B, but had @AuditOverride which isn't needed at all).被应用到 class,它没有扩展这个BaseEnitity class(即 class B 实际上没有扩展 class B,但是有根本不需要的@AuditOverride )。

After removing it everything worked fine删除后一切正常

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 存在从类A的对象到类B的对象的引用。如果将A序列化,我们是否可能会从B丢失该对象? - A reference exist from an object of class A to an object of class B. If A is serialized, do we might lose the object from B? 棋盘上从 A 到 B 的最便宜路径。 转弯和移动成本不同 - Cheapest path on a checkerboard from A to B. Turning and moving cost differently 参数类型为 A 或 B 的类 - Parameter a class with type A or B 对于两个给定的正数 a 和 b。 找到一个提高到b。 Output 你的数模数 10^9+7 - For two given positive numbers a and b. Find a raised to b. Output your number modulus 10^9+7 从B类访问A类 - Accessing class A from class B 理解Donald B. Johnson算法中的伪代码 - Understanding the pseudocode in the Donald B. Johnson's algorithm 从父级继承的元素的JAX-B批注 - JAX-B annotations for elements that inherit from a parent 在Haskell中,在类A类的函数中从另一个类型B返回一些东西 - Returning something from another type class B in function of type class A in Haskell 当以下情况发生时-A.从可运行的B中调用Activity方法。多个线程同时调用Activity方法 - What happens when- A. Activity method is called from Runnable B. Multiple threads call Activity method simultaneously Java-如何传入类型Class <A<B> &gt;到方法 - Java - How to pass in type Class<A<B>> to method
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM