Java springboot(带jpa的mysql):没有名为';实体管理工厂&x27;可获得的
开始构建(第一个)spring引导应用程序,这是我的spring引导主类() 下面是pom.xmlJava springboot(带jpa的mysql):没有名为';实体管理工厂&x27;可获得的,java,spring,jpa,exception,spring-boot,Java,Spring,Jpa,Exception,Spring Boot,开始构建(第一个)spring引导应用程序,这是我的spring引导主类() 下面是pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
尝试为回购添加
@Repository
注释,并在主类中添加了@enableJpaRepositories
注释。没什么帮助 问题不是直接与启动版本有关,而是与过时的hibernate JAR有关。由于我向项目添加了JPA支持,所以在内部使用(??)Hibernate作为JPA实现进行引导,并尝试使用这些JAR。由于我的本地回购已经损坏了hibernate entity-*JAR,所以发生了这个奇怪的错误
他们确认他们在内部使用hibernate
<!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
org.springframework.boot
spring引导启动器数据jpa
从my maven local repo中删除了完整的hibernate文件夹,现在看起来还可以。Spring(更准确地说是JPA)需要知道EntityManager工厂在哪里,然后使用它来管理entity manager。参考@spiritwalker,但我不需要自定义数据源,希望使用默认数据源@ꜱᴜʀᴇꜱʜᴀᴛᴛᴀ 你确定这是你唯一的日志信息吗?@MangEngkus我相信是的。更新为完整的stacktrace。您共享的应用程序适用于我。使用
1.3.1.版本
和1.5.6.版本
。我相信当您第一次下载1.5.6时,一个jar可能已经损坏。切换到该状态并运行mvn dependency:purge local repository
以删除损坏的jar。是的,我还有一个spring boot应用程序1.5.6。RELEASE
,它与您的设置相同。
public interface RegistrationRepo extends JpaRepository<User, Long> {
User findByEmail(String email);
}
spring.datasource.url=jdbc:mysql://localhost:3306/Test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
server.port=8181
<!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>