Duvida básica de JPA

Tenho uma tabela A no banco 1 e uma tabela B no banco 2. Precisaria criar uma relação na Entity A para equivaler a Entity B. Qual a melhor forma de fazer?

Pensei na opção de salvar o ID da tabela B na tabela A algo como Long b_id e fazer a pesquisa na tabela B no banco 2 quando precisar, mas achei muito suscetível a erros.

Qual banco de dados está usando?

E os bancos A e B estão na mesma máquina?

À princípio parece uma relação OneToOne.

Boa tarde, obrigado por responder, são dois bancos distintos e ficariam na mesma rede Docker, porém em containers Dockers distintos.

Eu pesquisei mais um pouco e parece que não dá para fazer relacionamentos entre bancos distintos.

https://stackoverflow.com/questions/3552330/doing-a-join-over-2-tables-in-different-databases-using-hibernate

No caso, vc teria que implementar isso manualmente, sem depender do JPA. Aí tudo teria que ser implementado manualmente, desde os inserts, passandos pelos selects, até os deletes e updates.

Pois é, por isso estou pensando se teria alguma forma não de “relacionar” usando o hibernate/JPA, mas de fazer de forma que fosse possível ter uma relação confiável de um lado para o outro. Por isso tive a ideia de criar o Long com o id para a relação, mas achei que não era a melhor abordagem.

Qual é o banco de dados?

Postgres

Parece que Postgres também não suporta este tipo de relação, mas vi gente sugerindo usar um tal de postgres_fdw, olha só: https://stackoverflow.com/a/46448/3334365

Vou dar uma olhada sobre, obrigado.

1 curtida

Depois de muita pesquisa descobri que a melhor forma de resolver esse problema é usando orientação a eventos, segue os links introdutórios para o tema:

2 curtidas