java – JPA多余性单元错误

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

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

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

这是我的applicationContext.xml的一部分

  factorybean">

        vendorAdapter">
            vendor.HibernateJpavendorAdapter">
                sql" value="${show.hibernate.sql}" />
                MysqL5Dialect" />
            factorybean">
    vendorAdapter">
        vendor.HibernateJpavendorAdapter">
            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文件.)

sspath:/my/package/**/custom-persistence.xmlsspath*:meta-inf/persistence.xmlfactorybean">
  munit"/>

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

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...