Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JPA中重命名persistence.xml时出现问题,请使用EclipseLink休眠_Java_Hibernate_Jpa_Jakarta Ee_Orm - Fatal编程技术网

Java 在JPA中重命名persistence.xml时出现问题,请使用EclipseLink休眠

Java 在JPA中重命名persistence.xml时出现问题,请使用EclipseLink休眠,java,hibernate,jpa,jakarta-ee,orm,Java,Hibernate,Jpa,Jakarta Ee,Orm,创建createEntityManagerFactory时,我遇到了以下异常,尽管META-INF文件夹中有persistence.xml,persistence.xml中有persistence单元ABC,持久性提供程序为hibernate,如下所示 <persistence-unit name="ABC" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersi

创建createEntityManagerFactory时,我遇到了以下异常,尽管META-INF文件夹中有persistence.xml,persistence.xml中有persistence单元ABC,持久性提供程序为hibernate,如下所示

<persistence-unit name="ABC" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
位于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)中进行更改时,它可能有助于清理和重建项目。进入菜单并选择Project-Clean。。。。
如果Eclipse未设置为自动生成项目,则选择Project-build Project。

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

即使多次清理和生成项目,我仍然面临相同的问题。即使多次清理和生成项目,我仍然面临相同的问题。
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);
        }