如何解决不是托管类型异常?

时间:2019-11-29 13:26:11

标签: spring-boot ignite

我正在用apache ignite创建一个Spring Boot应用程序,我试图在缓存中存储一​​些值,但是下面给出的响应是。有人可以帮忙吗?

---            
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'newRepo': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: class com.example.demo.model.DTOname
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:826) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
                at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
                at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:743) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
                at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:390) [spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]..
com.example.demo.ApacheIgniteHelloooApplication.main(ApacheIgniteHelloooApplication.java:14) [classes/:na]


            Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.example.demo.model.DTOname
                at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:552) ~[hibernate-core-5.3.10.Final.jar:5.3.10.Final]
                at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:74) ~[spring-data-jpa-2.1.10.RELEASE.jar:2.1.10.RELEASE]  .          
---            

这是我得到的响应...点燃节点启动之后。

这是我使用过的POJO类,如果我改用Entity类,则会出现找不到保存方法的错误。
             ---
                公共类DTOname实现了Serializable {
                    私有整数ID;                     私有字符串名称;                     public Integer getId(){                         返回ID;                     }                     公共无效setId(整数ID){                         this.id = id;                     }                    ............

        ---    


            this is my repository
        ---
            @RepositoryConfig(cacheName = "mycache")
            @Component
            @Repository
            public interface NewRepo extends IgniteRepository<DTOname, Integer> {

            }
         ---   

            this is my ignite config class
    ---
            @Configuration
            @ComponentScan(basePackages = "com.example.demo.repository")
            @EnableIgniteRepositories        
            public class SpringDataConfig { 
                @Bean
                public Ignite igniteInstance() {
                    IgniteConfiguration config = new IgniteConfiguration();

                    CacheConfiguration cache = new CacheConfiguration("mycache");
                    cache.setIndexedTypes(Integer.class,DTOname.class);
                    config.setCacheConfiguration(cache);
                    return Ignition.start(config);
                }
            }
        ---

0 个答案:

没有答案