本文介紹了沒有名為持久性的EntityManager的持久性提供程序的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
您好,我需要幫助來解決這個問題。當嘗試在IntelliJ上運行我的Java Web應用程序時,我收到以下消息:
異常:沒有持久化提供程序
名為持久性的實體管理器
-- src
|-- main
| |-- java
| | `-- service
| | `-- dao
| | `-- mapping
| | |--
| | |--
| | `--
| `-- resources
| `-- META-INF
| `-- persistence.xml
這是resources/META-INF/
中的persistence.xml
文件
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0">
<persistence-unit name="persistence">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<mapping-file>Dao/mapping/user.xml</mapping-file>
<class>Dao.mapping.UserEntity</class>
<properties>
<property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/test"/>
<property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
<property name="eclipselink.jdbc.url" value="jdbc:mysql://localhost:3306/test"/>
<property name="eclipselink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
</properties>
</persistence-unit>
我的Gradle版本
group 'com.test'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'war'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.4.Final'
compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5'
compile group: 'org.apache.tomcat', name: 'tomcat-catalina', version: '9.0.0.M13'
compile group: 'org.hibernate', name: 'hibernate-validator', version: '5.3.3.Final'
compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.1-api', version: '1.0.0.Final-redhat-1'
}
謝謝。
推薦答案
一個選項是錯誤是由引用的實體不存在引起的。
您在sistence.xml中有”Dao.mapping.UserEntity”,但目錄建議它應該是”service.dao.mapping.UserEntity”。
完整的堆棧跟蹤可以幫助解決問題。
這篇關于沒有名為持久性的EntityManager的持久性提供程序的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,