fala galera…
estou com um pequeno probleminha…
eu tenho um sistema web que usa hibernate pra conectar ao banco…
no sistema é possivel escolher qual banco se quer conectar (SQL Server ou MySql), ip do servidor, porta, database, usuario e senha.
depois de escolher o banco, eu pego o hibernate.cfg.xml, mudo os parametros e salvo.
o meu problema é:
como eu faço pra recriar o sesion factory usando o novo hibernate.cfg.xml criado em tempo de execução?
eu preciso fazer o session factory reconhecer o arquivo hibernate.cfg.xml novo e criar um mapeamento com o novo banco, mas nao estou conseguindo.
eu consigo recriar o sesion factory, mas ele ainda pega as configurações do arquivo hibernate.cfg.xml antigo. pra fazer reconhecer o novo eu tenho que parar o tomcat.
eu gostaria de saber se alguem sabe uma forma de nao precisar reiniciar o tomcat para usar essas configurações novas do hibernate.cfg.xml.
meu HibernateUtil
public class HibernateUtil {
private static SessionFactory sessionFactory;
static {
try {
// Create the SessionFactory from (hibernate.cfg.xml) config file.
sessionFactory = new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
ex.printStackTrace();
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void resetSessionFactory() {
try {
// mata o sesion factory.
sessionFactory.close();
sessionFactory = null;
// recria o session factory.
sessionFactory = new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();
} catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." + ex);
ex.printStackTrace();
throw new ExceptionInInitializerError(ex);
}
}
}
eu uso o método resetSessionFactory para recriar o session factory, mas nao reconhece as configurações novas.
ps: nao me agrada mto a ideia de usar dois hibernate.cfg.xml.
[]´s