Como fazer o hibernate trabalha com dois database do Mysql

5 respostas
aorocha

Tenho dois database no mysql e algumas tabelas estão se relacionando entre elas, ex: geral.usuario.id = sistema.vemda.idUsuario, como faço o hibernate entanda isso?

5 Respostas

sapulha

Cara, pra fazer o relacionamento direto via hibernate, não sei se dá.
O que vc pode fazer é usar dois hibernates.cfg, uma para cada database e com os mapeamentos de cada um, e carregar o que vc precisa dependendo de que database pretende usar.

aorocha

Assim com dois hibernates.cfg, sei que da para fazer, pois eu uso isso com mysql e oracle, eu queria saber era se tem como um hibernates.cfg acessa dois datavase ja que estão no mesmo db usam a mesma senha.

sapulha

O que você pode tentar fazer é criar um único usuário no mysql, com direito nas duas bases, e nos mapeamentos utilizar o esquema de colocar owner.nometabela pra mapeamento.

Fiz uma vez com oracle e funcionou.

Assim vc teria um unico hibernate.cfg, pois o usuário tem acesso as duas bases.

No Oracle dá pra resolver com sinonimo publico, mais no mysql acho que tem que ser owner.nometabela mesmo.

D

Gostaria de saber como vc conseguiu relacionar tabelas que estão em hirbenates.cfg separados.

Obrigada

aorocha

Relacionamento via DB ou Mapeamento não da? vc vai fazer na mão mesmo masi ou menos assim:

DbMysql.setVenda.setCliente(DbOracle.getCliente(int));

os hibernates.cfg vc configura um para cada banco com seus mapeamentos.

Criado 4 de agosto de 2006
Ultima resposta 1 de set. de 2006
Respostas 5
Participantes 3