Dois bancos no hibernate

Olá!

Gostaria de resolver um problema que está acontecendo comigo. Tenho uma classe chamada ItemSistema que pega informações de uma base de dados SQLServer. Tenho outra classe chamada ItemEntrada, que herda as propriedades de ItemSistema porém deverá ficar armazenado numa base de dados MySQL. Ou seja, deverei consultar dois bancos quando for consultar um ItemEntrada. Como que faço a configuração do hibernate para esse acesso a dois bancos ao mesmo tempo e transparente?

Att,
Leonardo Vivas

A forma mais simples de se fazer isso é criando 2 SessionFactory.
A outra é criando um “provider” de dados específico para a classe. Essa eu sei que existe mas nunca usei.

Oi Walter,

Obrigado por ter respondido. Eu li sobre a criação de 2 sessionFactory no guj, mas fiquei com uma dúvida: Na hora de pegar a sessao(metodo getSession) ele terá que escolher uma session factory, qual escolho quando foi usar as duas de vez? :smiley: No meu caso eu tenho uma herança onde a superclasse (ItemSistema) está no SQLServer e os atributos da subclasse no MYSQL. Ele vai ter que usar as duas conexões em paralelo.

Att,
Leonardo Vivas

Leo,
para o hibernate funcionar cada SessionFactory deve conter um grafo de objetos completo, que eu saiba não dá para ter uma hierarquia de objetos dividida entre dois SessionFactory diferentes. Isso aí que vc quer fazer é possível mas meio chato.
Vc vai ter que escolher um dos bancos para criar a SessionFactory para ele, e as classes que têm que ficar no outro deverão ter código java escrito especificamente para salvá-las e carregá-las via sql/jdbc. Boa sorte !