Tenho uma classe de entidade Setor(id, nome). Eu quero que atraves de configuracao eu recupere a informacao de bancos diferentes e com parametros diferentes. Por exemplo:
No banco A a tabela se chama setor(id,nome) mas, no banco B ela se chama Categoria(categoriaID, descricao). Vi varios topicos a respeito de configurar mais de um database, funciona. Porem em todos os casos que vi as tabelas e parametros eram os mesmos apesar dos bancos serem diferentes.
Tem como mapear dessa forma usando JPA? Um objeto com dois bancos de tabelas e parametros diferentes?
Minha ideia seria uma implementacao dessa forma
@Entity
public class Categoria {
@id
private Integer id;
private String nome;
...
}
public interface CategoriaDao {
public Categoria listar();
...
}
@Named(value="categoriaDaoBancoA")
public class CategoriaDaoImplBancoA implements CategoriaDao {
public Categoria listar() {
return em.getResultList();
}
...
}
@Named(value="categoriaDaoBancoB")
public class CategoriaDaoImplBancoB implements CategoriaDao{
public Categoria listar() {
return em.getResultList();
}
...
}
public class CategoriaController {
@Resource(name="categoriaBancoXX")
private CategoriaDao catDao;
...
}
[quote=Hebert Coelho]Você terá que mapear no persistence.xml e orm.xml esses dados distintos. Diferença de colunas e tudo mais.
Para cada banco você enviaria o xml devido.[/quote]
Nesse caso vai ser como o hibernate antigamente, para cada objeto um xml mapeando a tabela, so que tudo fica no orm.xml. ORM-XML-BancoA e ORM-XML_BancoB, …
Blz valeu, no sample do spring tem um exemplo, o petclinic, usando o ORM. Valeu vou dar uma olhada.
[quote=thimor][quote=Hebert Coelho]Você terá que mapear no persistence.xml e orm.xml esses dados distintos. Diferença de colunas e tudo mais.
Para cada banco você enviaria o xml devido.[/quote]
Nesse caso vai ser como o hibernate antigamente, para cada objeto um xml mapeando a tabela, so que tudo fica no orm.xml. ORM-XML-BancoA e ORM-XML_BancoB, …
Blz valeu, no sample do spring tem um exemplo, o petclinic, usando o ORM. Valeu vou dar uma olhada.
Usando a dica do Hebert Coelho, ja encontrei o caminho aqui nos samples do spring. Projeto petclinic para quem precisar e quiser da uma olhada. Vou alterar o persistence.xml para ficar dessa forma: