/ / cópia de dados do oracle para o postgres usando hibernate - oracle, postgresql, hibernate

cópia de dados do oracle para o postgres usando hibernate - oracle, postgresql, hibernate

Sou novo no Hiberante JPA. Estou trabalhando no oracle para migração de postgres e não estamos usando o serviço aws dms para migração de dados. Gostaríamos de avançar com o Java para copiar tabelas que possuem mais de 1 milhão de registros. Eu tenho problema para o cenário abaixo.

Tabela A - Oracle Tabela B - PostGres

Estou extraindo registros do Oracle usandoScrollableResults. Depois que eu tiver os dados do Oracle, preciso fazer um loop de um valor no banco de dados postgres para os dados do Oracle antes de executar a inserção no banco de dados postgres.

Eu pensei que o primeiro @ColumnTransformer vai ajudar, mas não está ajudando como eu não sei como fazer referência a dados do oracle na expressão ColumnTransformer.

Então, finalmente fui em frente com a escrita de consulta de inserção normal com valores e subconsulta para pesquisa. Também defina hibernate.jdbc.batch_size para 100.

Eu executei o programa desta forma e demorou 5 minutos para 10k registros que eu sinto é lento.

Existe alguma outra solução para este problema para melhorar o desempenho.

Obrigado por toda sua ajuda

Respostas:

0 para resposta № 1

Eu encontrei a solução. Eu resolvi isso armazenando a tabela de consulta postgres no objeto list e, em seguida, executando a pesquisa no objeto da lista de tabela de pesquisa antes de executar a inserção. Agora a velocidade é boa.