IllegalArgumentException:必须至少存在一个JPA元模型

从春季rest开始,我得到了以下错误

org.springframework.beans.factory.BeanCreationException:创建名为’jpaMappingContext’的bean时出错:init方法的调用失败; 嵌套exception是java.lang.IllegalArgumentException:必须至少存在一个JPA元模型! 在org.springframework上的org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1595)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]。 org.springframework.beans.factory.support上的beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:566)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject中的.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] (AbstractBeanFactory.java:304)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java: 230)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.beans.factory.suppo orrt.springframework.beans.factory.support.AbstractBeanFactory.getBean中的rt.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] (AbstractBeanFactory.java:195)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java: 725)〜[spring-beans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)〜[spring-context在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)〜[spring-context-5.0.0.BUILD- SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)〜[spring-boot-2.0 or.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]在org.springframework.boot.SpringApplication.refresh(SpringApplication.java:736)[spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0 .O.BUILD-SNAPSHOT] org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:369)[spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]在org。 springframework.boot.SpringApplication.run(SpringApplication.java:313)[spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]在org.springframework.boot.SpringApplication.run(SpringApplication。 java:1161)[spring-boot-2.0.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT]在org.springframework.boot.SpringApplication.run(SpringApplication.java:1150)[spring-boot-2.0 com.java.app.QuickPollApplication.main中的.0.BUILD-SNAPSHOT.jar:2.0.0.BUILD-SNAPSHOT] [classes /:na]引起:java.lang.IllegalArgumentException:At必须至少有一个JPA元模型! org.springframework.util.Assert.notEmpty(Assert.java:438)〜[spring-core-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] org.springframework.data.jpa。 mapping.JpaMetamodelMappingContext。(JpaMetamodelMappingContext.java:52)〜[spring-data-jpa-1.11.0.BUILD-SNAPSHOT.jar:na] at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean。 java:71)〜[spring-data-jpa-1.11.0.BUILD-SNAPSHOT.jar:na] at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:26)〜[spring -data-jpa-1.11.0.BUILD-SNAPSHOT.jar:na] at org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet(AbstractFactoryBean.java:134)〜[spring-beans-5.0.0.BUILD- SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1654)〜[spring-be ans-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1591)〜[spring-beans-5.0.0 .BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT] …省略了16个常用帧

使用以下代码

@SpringBootApplication @RestController public class QuickPollApplication { public static void main(String[] args) { SpringApplication.run(QuickPollApplication.class, args); } @RequestMapping(value = "/test", method = RequestMethod.GET) public String testRest() { return "rest tested"; } 

以下是我的pom.xml

UTF-8 UTF-8 1.8

    org.springframework.boot spring-boot-starter-data-jpa   org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-web-services   org.hsqldb hsqldb runtime   org.springframework.boot spring-boot-starter-test test   org.springframework spring-web      org.springframework.boot spring-boot-maven-plugin      spring-snapshots Spring Snapshots https://repo.spring.io/snapshot  true    spring-milestones Spring Milestones https://repo.spring.io/milestone  false      spring-snapshots Spring Snapshots https://repo.spring.io/snapshot  true    spring-milestones Spring Milestones https://repo.spring.io/milestone  false    

请帮帮我。 我不知道如何解决这个错误

你添加了

  org.springframework.boot spring-boot-starter-data-jpa  

在你的pom.xml中。

Spring启动会尝试为jpa自动创建实体工厂,但是您没有定义任何有关JPA模型的内容。

尝试删除它,以测试到目前为止你做了什么。

之后你可以像使用spring-data-starter-jpa一样查看教程

我已经通过设置更新版本的Hibernate来修复它。

  org.springframework.boot spring-boot-starter-data-jpa   org.hibernate hibernate-entitymanager   org.hibernate hibernate-core     org.hibernate hibernate-core 5.2.10.Final  

你可以在这里找到一个完整的例子: https : //github.com/zobarov/ptc-task-executor

这对我有用。

  org.springframework.boot spring-boot-starter-data-jpa   org.hibernate hibernate-entitymanager   org.hibernate hibernate-core     org.hibernate hibernate-core 5.2.10.Final