Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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 如何访问实体管理器而不在@PersistenceContext中提供单元名称?_Java_Spring_Hibernate_Jpa - Fatal编程技术网

Java 如何访问实体管理器而不在@PersistenceContext中提供单元名称?

Java 如何访问实体管理器而不在@PersistenceContext中提供单元名称?,java,spring,hibernate,jpa,Java,Spring,Hibernate,Jpa,我已经用多个实体管理器工厂和多个事务管理器定义了多个持久化单元。 我知道我可以通过如下方式向持久性上下文提供一个单元名称来访问相应的实体管理器 @PersistenceContext(unitName="PU1") protected transient EntityManager entityManager; 我想知道是否有一种方法可以访问默认的持久性单元 @PersistenceContext protected transient EntityManager entityManager;

我已经用多个实体管理器工厂和多个事务管理器定义了多个持久化单元。 我知道我可以通过如下方式向持久性上下文提供一个单元名称来访问相应的实体管理器

@PersistenceContext(unitName="PU1")
protected transient EntityManager entityManager;
我想知道是否有一种方法可以访问默认的持久性单元

@PersistenceContext
protected transient EntityManager entityManager;
我希望此实体管理器选择我的持久化单元“PU1”作为默认值

在定义PersistenceUnitManager时,我将defaultDataSource定义为我想要的数据源,但它没有帮助

如有任何建议,将不胜感激


谢谢。

JPA不知道要使用哪个持久性单元,请尝试为每个持久性单元创建persistence.xml,并选择在应用程序上下文中使用哪个持久性单元 试试这个:

<bean id="persistenceUnitManager"
    class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    <property name="persistenceXmlLocations">
        <list>
            <value>classpath*:META-INF/persistencePU1.xml</value>
        </list>
    </property>
</bean>

classpath*:META-INF/persistencePU1.xml