gpt4 book ai didi

java - 使用 EclipseLink 在 JPA、hibernate 中重命名 persistence.xml 时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:02:43 24 4
gpt4 key购买 nike

尽管我在 META-INF 文件夹中有 persistence.xml,并且持久化单元 ABC 存在于 persistence.xml 中,并且持久化提供程序处于 hibernate 状态,但我在创建 createEntityManagerFactory 时遇到以下异常,如下所示。

<persistence-unit name="ABC" transaction-type="RESOURCE_LOCAL"> 
<provider>org.hibernate.ejb.HibernatePersistence</provider>

异常

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

在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)

所以我认为 createEntityManagerFactory 没有引用正确的 persistence.xml 文件,我更改了 persistence-alternative.xml 并我使用以下代码来引用 persistence-alternative.xml

EntityManagerFactory emf = objEmfMap.get(unitName);
try{
Properties pros = new Properties();

pros.setProperty(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML,
"META-INF/persistence-alternative.xml");
// check if the entity manager factory is available for the unit else create
if (emf == null) {
emf = Persistence.createEntityManagerFactory(unitName,pros);
objEmfMap.put(unitName, emf);
}

我将 persistence-alternative.xml 放在 META-INF 文件夹中。但我仍然面临同样的异常。

javax.persistence.PersistenceException:没有名为 ABC 的 EntityManager 的持久性提供程序 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)

请大家告诉我如何解决这个问题..

提前致谢

最佳答案

当您在配置文件(例如 persistence.xml)中进行更改时,可能有助于清理和重建项目。转到菜单并选择项目 - 清理...。如果 Eclipse 未设置为自动构建项目,则选择 Project - Build Project。

关于java - 使用 EclipseLink 在 JPA、hibernate 中重命名 persistence.xml 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40735601/

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