Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/12/2009, 13:20
mario_chivas
 
Fecha de Ingreso: diciembre-2009
Mensajes: 46
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Cambiar base de datos definida en hibernate.cfg.xml

Hola

Vamos a identificar los componentes de Hibernate

1) Archivos de mapping ()
2) Archivo de configuración (hibernate.cfg.xml)
3) Hibernate Util ()

En el primero van tus tablas y le indicas tu Java Bean (el archivo que tiene gettes y setters).
En el segundo se escribe la conexion a la base de datos, el usuario, y la contraseña y todos
tus parametros relacionados con la base de datos.
En el tercero tratandose especificamente lo podemos hacer hací voy a tomar un ejemplo de la pagina http://www.chuidiang.com/chuwiki/index.php?title=Ejemplo_sencillo_con_Hibernate
yo con eso aprendí puedes hacer este ejemplo desde cero o el que esta en la pagina web de hibernate es el mismo, hay que darle las gracias y los creditos al autor de ese ejemplo.

//codigo original

package com.chuidiang.ejemplos.hibernate.ejemplo1;

import java.io.File;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
private static final SessionFactory sessionFactory;

static {
try {
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure(new File("hibernate1.cfg.xml"))
.buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}

//codigo modificado

import java.io.File;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
private static final SessionFactory sessionFactory;
private String seleccionarBD;

/*creas tus gettes y setter para seleccionarBD*/

static {
try {
if(getSeleccionarBD.equals("Oracle")){
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure(new file("hibernate1.Oracle.xml"))
.buildSessionFactory();
}//fin de if
else if (getSeleccionarBD.equals("MySql")){
// Create the SessionFactory from hibernate.cfg.xml
sessionFactory = new Configuration().configure(new file("hibernate1.Mysql.xml"))
.buildSessionFactory();
}//fin del condicional else if
//y haci continuas con todos tus archivos hibernate.cfg.xml
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}

public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}

Vas por buen camino, en el SessionFactory no le indicas los parametros de conexion
más bien le dices que archivo de conexión debe tomar.

Espero y te ayude.
Buen día Dios te bendiga.