【问题标题】:Issue while renaming persistence.xml in JPA,hibernate using EclipseLink在 JPA 中重命名 persistence.xml 时出现问题,使用 EclipseLink 休眠
【发布时间】:2023-04-07 11:59:01
【问题描述】:

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

<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)

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

提前致谢

【问题讨论】:

    标签: java hibernate jpa jakarta-ee orm


    【解决方案1】:

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

    【讨论】:

    • 即使多次清理和构建项目,我仍然面临同样的问题。
    猜你喜欢
    • 2018-05-10
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    相关资源
    最近更新 更多