JPA - Trabalhando com Entity's mapeando tabelas de diferentes BD's
4 respostas
F
fpaiva
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.
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.