java – JPA多余性单元错误

前端之家收集整理的这篇文章主要介绍了java – JPA多余性单元错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试在我的项目中添加一个数据库/模式/ persistenceUnit,我收到错误

没有定义[javax.persistence.EntityManagerFactory]类型的唯一bean:期望的单个bean但找到了2

我谷歌/ api分配,无法找到为什么春天抱怨我的配置.

这是我的applicationContext.xml的一部分

  factorybean">

        sql" value="${show.hibernate.sql}" />
                MysqL5Dialect" />
            factorybean">
    sql" value="${show.hibernate.sql}" />
            MysqL5Dialect" />
        

一些问题:

>我需要两个tx:注释驱动吗?
>我是否需要在工厂中指定persistenceUnitName?

我在春季论坛(LINK)中记录了我的digg

那就好了……任何帮助都会很高兴!

最佳答案
使用Spring,您只需要一个EntityManagerFactory.
您正在寻找的是在章节13.5.1.4的Spring文档中描述:“处理多个persitence单元”

我复制/粘贴文字

“13.5.1.4处理多个持久性单元

例如,对于依赖于多个持久性单元位置的应用程序(存储在类路径中的各种JARS中),Spring提供PersistenceUnitManager作为中央存储库并避免持久性单元发现过程,这可能很昂贵.默认实现允许指定多个位置,这些位置被解析并稍后通过持久性单元名称检索. (默认情况下,会在类路径中搜索Meta-INF / persistence.xml文件.)

Meta-INF/persistence.xmlfactorybean">
  

默认实现允许自定义PersistenceUnitInfo实例,然后通过其属性进行声明性地提供给JPA提供程序,这些属性会影响所有托管单元,或者通过PersistenceUnitPostProcessor进行编程,这允许选择持久性单元.如果没有指定PersistenceUnitManager,则由LocalContainerEntityManagerfactorybean在内部创建并使用一个.“

猜你在找的Spring相关文章