【发布时间】:2012-10-04 12:19:51
【问题描述】:
我们需要使用 JPA 将记录插入到两个数据源中。
解决这个问题的正确方法是什么?
我们如何声明具有不同数据源的不同持久性单元并管理两个实体管理器并为默认单元名称注入默认持久性上下文,而不在第一个数据源的通用 dao 中提及单元名称并用单元名称覆盖上下文第二个数据源中其他表的单独 dao。
spring 文档非常有限,没有示例。
例子会有很大帮助。
【问题讨论】:
-
每个数据源上的记录/表是否相同?
-
不,它们是不同的记录.. 但是一张表的 id 正在另一张表中使用。它们是旧表..所以那里没有太多修改空间
-
持久性依赖注入失败;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [javax.persistence.EntityManagerFactory] is defined: expected single bean but found 2
-
这感觉就像你应该用触发器或复制做的事情
-
我们不允许使用触发器。