JPA - Trabalhando com Entity's mapeando tabelas de diferentes BD's

4 respostas
F

Boa noite!

Estou trabalhando num projeto onde utilizo Jboss Seam e JPA com Hibernate. O banco de dados é o PostgreSQL.

No meu caso as Entity’s representam tabelas que podem estar em 3 banco de dados diferentes.

Alguém tem alguma idéia de como faço para gerenciar tudo num único EntityManager ? Inicialmente estou trabalhando com Views’s via DatabaseLink, mas não gostei dessa abordagem.

[]'s
Fabio Paiva

4 Respostas

L

Os três bancos são utilizados paralelamente?

otaviojava

Rapaz a primeira pergunta é
é realmente necessário se ter três banco de dados diferentes ?
Se sim você cria três entitymanager.
Cada um para uma conexão, até mesmo para ficar mais organizado e saber sessão de qual banco você está utilizando.

Grinvon

Nesse caso, trabalhávamos em três projetos diferentes, onde cada um, tinha o seu próprio persistence.xml.

Depois, há uma referência para os projetos para visualizar os diferentes bancos, ou seja, um projeto entrava como lib para um outro.

Lembre-se que você não pode mapear diretamente uma entidade de um banco X em uma no banco Y, mas pode-se dar um jeito bem simples nisso. Primeiro, você faz a referência com o identificar direto, e não com a entidade. Mas cria um getter que retorna uma instância da entidade desejada, mesmo que ela seja de um outro banco. Dessa forma, é possível de “mapear” entidades de bancos distintos.

otaviojava

A depender do caso.
Ao invés de três persistence.xml.
A depender do caso poderia fazer webServices e fazia requisições do banco de dados a partir destes.

Criado 28 de maio de 2011
Ultima resposta 29 de mai. de 2011
Respostas 4
Participantes 4