我有一个带有域模型的应用程序A,它使用Hibernate映射到数据库.我有另一个应用程序B使用与A完全相同的域模型类并添加一些其他类.
我的目标是从应用程序B中的数据库A读取数据,并将该数据传输到B的数据库中(以复制它).另外,B的一些域类具有与A的域类的关联(OneToOne)(当然,在B的数据库中).
实现这一目标的最佳策略是什么?我想到了两个会话工厂并使用Session.replicate()
(这是如何工作的?).或者我应该更好地在这两个域模型之间引入额外的映射层以进行松散耦合?
之前我已经完成了这项工作,以便在两种不同的数据库类型之间传输数据(在我的例子中是DB2和MS SQL Server).我所做的是创建两个单独的会话工厂,并为它们提供相同的映射文件列表.然后我只是从一个读取记录,并将它们保存到另一个.
当然,这假设两个数据源都是相同的.