Galera estou com uma dúvida de como eu faço para trabalhar com duas conexões em bancos diferentes no hibernate?
Esse é o meu hibernate.cfg.xml, ele está mapeado para o oracle agora eu preciso conectar com o postgree.
oracle.jdbc.driver.OracleDriver
jdbc:oracle:projeto/rccpad
sa
true
org.hibernate.dialect.Oracle9Dialect
Você precisa conectar-se a dois bancos diferentes ao mesmo tempo? Por que isso? Eu acho que você precisaria de dois SessionFactory nesse caso, o que implicaria em dois cfg.xml…
Seria interessante você me dizer como você está criando o seu SessionFactory agora, mas basicamente seria o seguinte…
Atualmente você faz isso:
SessionFactory sessionFactory = new Configuration().configure( "caminho/para/hibernate.cfg.xml" ).buildSessionFactory();
Você criaria um novo SessionFactory com a configuração apontando para o outro arquivo de configuração:
SessionFactory outroSessionFactory = new Configuration().configure( "caminho/para/hibernate2.cfg.xml" ).buildSessionFactory();
E usaria essa outra SessionFactory. Não é das soluções mais bonitas, mas é o que eu posso lhe dizer sem conhecer nada do seu programa.
Cara eu tenho esse arquivo chamado HibernateUtil no qual chama a minha sessionFactory.
Vou fazer uns teste qualquer coisa eu grito!
Mais desde já agradeço…
static {
try {
//Create the SessionFactory
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
//Make sure you log the exception, as it might be swallowed
log.error("Initial SessionFactory creation failed.", ex);
throw new ExceptionInInitializerError(ex);
}
}
public static final ThreadLocal session = new ThreadLocal();
public static Session currentSession() {
Session s = (Session) session.get();
//Open a new Session, if this Thread has none yet
if (!(s != null)) {
s = sessionFactory.openSession();
session.set(s);
}
s.clear();
return s;
}
Boa noite, bom estou tendo de estudar um pouco a respeito de Hibernate e pelo o que entendi até agora, você cria duas SessionFactory dentro do seu arquivo *.cfg.xml…