JPA-没有名为{{NAME_HERE}}的EntityManager的持久性提供程序。

问题描述 投票:0回答:1
我正要为新应用程序创建一个后端,但我被困于配置JPA。我正在将GlassFish 5.0.0Hibernate 5.4.5.FinalMySQL一起使用。

我得到的错误是:

javax.servlet.ServletException: javax.persistence.PersistenceException: No Persistence provider for EntityManager named applicationDB

persistance.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd" version="2.2"> <persistence-unit name="applicationDB"> <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>entities.CityEntity</class> <properties> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/world?serverTimezone=GMT"/> <property name="hibernate.connection.driver_class" value="com.mysql.cj.jdbc.Driver"/> <property name="hibernate.connection.username" value="root"/> <property name="hibernate.connection.password" value="PASSWORD_HERE"/> <property name="hibernate.archive.autodetection" value="class"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.hbm2ddl.auto" value="update"/> </properties> </persistence-unit> </persistence>

这是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/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>groupId</groupId> <artifactId>backend</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.4.5.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> </resource> </resources> </build> </project>

[persistence.xml位于project/src/main/resources/META-INF] >>

我访问我的REST端点之一,后者依次调用应该测试JPA的方法,该方法基本上是这样做的:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("applicationDB"); EntityManager em = emf.createEntityManager(); System.out.println("Entity: " + em.find(CityEntity.class, 5));

我找不到问题,有什么建议吗?

我正要为新应用程序创建一个后端,但在配置JPA时遇到了麻烦。我正在将GlassFish 5.0.0和Hibernate 5.4.5.Final与MySQL一起使用。我得到的错误是:javax.servlet.ServletException:...

mysql hibernate jpa java-ee glassfish
1个回答
0
投票
您看到这个https://stackoverflow.com/a/5121210/4962355吗?建议使用hibernate-core.jar代替不推荐使用的hibernate-entitymanager
© www.soinside.com 2019 - 2024. All rights reserved.