1

我正在编写一个应用程序,它将使用 JPA EntityManager API 将数据从一个数据库移动到另一个数据库。我的问题是: 1. 我可以在一个事务中使用多个实体管理器吗?2. 我可以从一个数据库中读取一个实体并将其保存在另一个数据库中吗?可能会遇到哪些问题?

4

1 回答 1

2

我可以在单个事务中使用多个实体管理器吗?

是的,使用 JTA。不过,我不确定您是否需要进行全球交易。您是否真的将实体从一个数据库移动或复制到另一个数据库?在后一种情况下,您可以按顺序使用两个事务。

我可以从一个数据库中读取一个实体并将其保存在另一个数据库中吗?

假设它们具有相同的结构并且您没有任何冲突的 PK,则应该可以使用第一个实体管理器读取实体,将其分离,然后使用另一个实体管理器将其合并。如果您有可能的 PK 冲突,您将不得不使用 DIY 方法(而不是简单的合并)。

于 2010-11-01T10:58:01.850 回答