Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mapeamento de primary key com dois bancos distintos

Olá,

Durante o curso de Spring Boot Jpa, me surgiu um dúvida referente ao mapeamento de atributos com @Id, com dois bancos diferentes.

Por exemplo: Minha aplicação possui um ambiente de produção com conexão em um Banco Oracle, e um ambiente de desenvolvimento com conexão em um Banco Mysql.

Ambos possuem diferentes modos de auto incremento utilizando @Id, no Oracle por exemplo utilizando uma sequence, enquanto que com o Mysql usando um auto_increment.

Como posso resolver essa divergência, para usar um banco para desenvolvimento e um outro para produção ? Ou esse cenário é uma má prática para desenvolvimento ?

2 respostas
solução!

Oi Renato,

Não vai ter como fazer isso a nível de código. Se fosse apenas configurações da url,login,senha do banco, daria para ter 2 arquivos, um para cada ambiente.

Mas via classe não teria como. Você precisaria alterar o @Id quando fosse gerar o pacote para produção.

Mas esse cenário, de ter ambientes(Sistema Operacional, BD, etc.) distintos em Desenvolvimento e Produção é uma má prática, pois isso vai gerar problemas.

Pode acontecer o famoso "Na minha máquina funciona", quando tiver um problema em produção que em desenvolvimento não acontece.

O ideal é sempre padronizar os ambientes.

Bons estudos!

Olá Rodrigo,

Obrigado pela orientação !!!