gpt4 book ai didi

java - 是什么导致了这个 "No Persistence provider for EntityManager named ___"异常?

转载 作者:行者123 更新时间:2023-12-01 11:42:31 25 4
gpt4 key购买 nike

我已经尝试解决这个问题几天了,但我尝试过的许多方法都不起作用!

javax.persistence.PersistenceException: No Persistence provider for EntityManager named user

关于 persistence.xml 的确切位置,我看到了相互矛盾的报告 - 下面的任何一个位置都是正确的吗?

显然,此错误的原因可能是我将 persistence.xml 放在了错误的位置(我不认为我这样做),持久性提供程序 jar 不在类路径中(我认为是),或者我的依赖关系不正确(我猜是这样,但不知道是什么!)

Location of my persistnece.xmlpersistence.xml 的内容:

<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

<persistence-unit name="user">
<provider>org.hibernate.ejb.HibernatePersistence</provider>

<class>main.java.Account.User</class>

<properties>
<property name="javax.persistence.jdbc.user" value="root" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="javax.persistence.jdbc.url" value="jdbc:google:mysql://grade-me:datastore/grademe?user=root"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5"/>
</properties>

</persistence-unit>

对构建文件进行评分:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.google.appengine:gradle-appengine-plugin:1.9.14'
}
}

repositories {
jcenter();
}

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'appengine'

sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7

dependencies {
appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.14'

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.google.appengine:appengine-endpoints:1.9.14'
compile 'com.google.appengine:appengine-endpoints-deps:1.9.14'
compile 'javax.servlet:servlet-api:2.5'
compile 'org.hibernate:hibernate-core:4.3.8.Final'
}

appengine {
downloadSdk = true
appcfg {
oauth2 = true
}
endpoints {
getClientLibsOnBuild = true
getDiscoveryDocsOnBuild = true
}
}

如果有任何帮助,我将非常感激(如果这是愚蠢的事情,请对我宽容一点!)谢谢

编辑:我只是想向任何遇到这个问题的人更新,不幸的是我没有设法使用这些建议中的任何一个让 hibernate 工作,而是选择使用 Objectify。

最佳答案

尝试将 hibernate-entitymanager 更改为类似于 hibernate-core 的编译依赖项。这可能是 fileTree 依赖项的问题。

关于java - 是什么导致了这个 "No Persistence provider for EntityManager named ___"异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29417702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com