我正在编写一个应用程序,它将数据从一个数据库移动到另一个数据库使用JPA EntityManager API。我的问题是:1。我可以在一次交易中使用多个实体经理吗? 2.我可以从一个数据库中读取一个实体并将其保留在另一个数据库中吗?可能遇到的问题是什么?
答案 0 :(得分:2)
我可以在一次交易中使用多个实体经理吗?
是的,使用JTA。我不确定你的情况下是否需要全局交易。您是否真的将实体从一个数据库移动或复制到另一个数据库?在后一种情况下,您可以按顺序使用两个事务。
我可以从一个数据库中读取一个实体并将其保存在另一个数据库中吗?
假设它们具有相同的结构并且您没有任何冲突的PK,则应该可以使用第一个实体管理器读取实体,将其分离然后使用另一个实体管理器合并它。如果您可能存在PK冲突,则必须使用DIY方法(与简单合并相比)。