使用hibernate将数据从oracle复制到postgres

时间:2018-03-23 14:32:46

标签: oracle postgresql hibernate

对于hiberante JPA来说是新手。我正在使用oracle进行postgres迁移,我们没有使用aws dms服务进行数据迁移。我们希望继续使用Java来复制具有超过100万条记录的表。我对下面的情况有疑问。

表A - Oracle 表B - PostGres

使用ScrollableResults从Oracle中提取记录。一旦我获得了Oracle的数据,我需要在postgres数据库中为Oracle中的数据循环一个值,然后才能执行插入postgres数据库。

我认为首先@ColumnTransformer会有所帮助,但它没有帮助,因为我不知道如何在ColumnTransformer表达式上引用来自oracle的数据。

所以最后继续编写带有值和子查询的普通插入查询进行查找。同时将hibernate.jdbc.batch_size设置为100。

我用这种方式执行了程序,10k记录需要5分钟,我感觉很慢。

是否有任何其他解决方案可以解决此问题。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我通过在列表对象中存储postgres查找表然后在执行插入之前在查找表列表对象中执行搜索来解决它。现在速度很快。