Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/10/2009, 09:50
Avatar de elAntonie
elAntonie
 
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 11 meses
Puntos: 10
Respuesta: Manejo de dos bases de datos con hibernate

Eso es.

Para usar una sesion u otra, como ya te he indicado, podrias hacer un java que te proporcionase la conexion que necesitas en cada momento.

Para leer el fichero puedes usar algo como esto
Código:
public void obtenerSesion (String fileName) throws HibernateException
{
SessionFactory sessionFactory = new Configuration().configure(filename).buildSessionFactory();
Session s = sessionFactory.openSession();
return s;
}
Y para obtener una sesion del cfg.xml de turno

Código:
Session misesion = obtenerSesion("hibernate.cfg.xml");
Session misesion2 = obtenerSesion("hibernate2.cfg.xml");
Con el manejo de excepciones de turno.

Saludos.

PD. Ya puestos, podrias hacer un 'pool' (observese el matiz delas comillas) guardando las sesiones en un hashtable (por ejemplo), y que sea esta clase la que se encargue de obtener la sesion (si no existe en la hashtable, la crea y la devuelve, y si existe devuelve la que tiene creada) y devolverla y tambien de cerrarla (la devuelve a la hashtable). De tal modo que solo tengas que llamarla como


Session s1 = conexionHibernate.dameSesion1();
Session s2 = conexionHibernate.dameSesion2();

... blableblublublibla ...

conexionHibernate.cierraSesion1();
conexionHibernate.cierraSesion2();

Última edición por elAntonie; 22/10/2009 a las 09:56