Alterar Conexão de uma Sessão Hibernate!

1 resposta
P

Boa Tarde,

Tenho a seguinte fabrica de sessões no java:

package br.com.allware.classes.fabricaConexao;

import java.sql.Connection;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.classic.Session;

import br.com.allware.classes.modelos.faturamento.Produto;

public class ConexaoBD {

	private static SessionFactory factory;

	static {
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.addAnnotatedClass(Produto.class);
		factory = cfg.buildSessionFactory();
	}

	public Session getConexao(Connection con) {
		return factory.openSession();
	}
}

Quando preciso de uma conexão, faço a seguinte chamada:

Session session = new ConexaoBD().getConexao();

Até aqui tudo Certo.
O Problema é que preciso Setar uma conexão já existente para dentro dessa Sessão, para manter tudo na mesma transação.

Imagine um método que tenha como parametro uma conexão e que eu precise jogar essa conexão do parametro dentro da Session Hibernate. Algo assim seria:
public void Salvar(Connection conn){

Session session = new ConexaoBD().getConexao();
session.setConnection(conn); {Se isso existisse, eu poderia usar o Hibernate com conexões externas}
  
}

Algém pode me ajudar por favor.

Abraços!
PW2

1 Resposta

lelodois

Pesquise por JTA.

Criado 10 de agosto de 2010
Ultima resposta 10 de ago. de 2010
Respostas 1
Participantes 2