Multiplas Conexoes Hibernate

4 respostas
mateusprado

Ola pessoal tudo bem?
Alguem sabe se existe um forma de fazer conexoes multiplas usando o hibernate? por exmplo uma classe vai se conectar em um banco e outra em outro e assim vai.

obrigado desde já.

4 Respostas

S

mateusprado:
Ola pessoal tudo bem?
Alguem sabe se existe um forma de fazer conexoes multiplas usando o hibernate? por exmplo uma classe vai se conectar em um banco e outra em outro e assim vai.

obrigado desde já.

Crie varios arquivos de configuração
Para cada um dos bancos deve ser criado sua própria SessionFactory, ai você pode criar instâncias distintas de objetos Configuration.

toda sessão aberta a partir de qualquer SessionFactory pesquisa em um datasource gerenciado na JNDI (Java Naming and Directory Interface) e fica sobe a responsabilidade do carinha que gerencia recurso e transação de cordenar isso.

mateusprado

a ok.
Obrigado pela atenção amigo.
me ajude nisso entao.

eu uso para abrir conexoes com meu bd, uma classe que le o xml.
por exemplo:

public class HibernateUtil {
	private static Logger logger = Logger.getLogger(HibernateUtil.class);
	private static SessionFactory factory;

	static {
		Configuration cfg = new AnnotationConfiguration();
		cfg.configure();
		factory = cfg.buildSessionFactory();

	}

	public static Session getSession() {
		logger.info("Abrindo nova session....");
		return factory.openSession();

	}

	public static Statistics getStatistics() {
		return factory.getStatistics();
	}

	public static Session getDestroy() {
		logger.info("Fechando a sessão...");
		getSession().close();
		return null;

	}

}

como eu aponto tal arquivo de cfg.xml do hibernate pra cada hibernateUtil, por exmplo? Ou se existe outra forma.

obrigado novamente.

S

Não utilizo anotações, mas no seu caso creio que usar o metodo configure dá certo.

AnnotationConfiguration configure(File configFile) throws org.hibernate.HibernateException

static 
    {  
         Configuration cfg = new AnnotationConfiguration();  
         cfg.configure(nome arquivo de configuração);  
         factory = cfg.buildSessionFactory();  
   
     }

coloca o resultado depois!

abraço

mateusprado

Obrigado pela dica. deu certinho.

abraços,

Criado 30 de julho de 2008
Ultima resposta 1 de ago. de 2008
Respostas 4
Participantes 2