<repo_name>mcanalejas/AAD-Practica1<file_sep>/src/ejercicios5_8_JPA/Utilidades.java
package ejercicios5_8_JPA;

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

/**
 * Responsable de crear un objeto sesi�n (gestiona la conexi�n a BD de forma
 * transparente
 * 
 * @author Laura
 *
 */
public class Utilidades {

	// Factoria de sesi�n para crear objeto sesi�n a partir de XML
	private static SessionFactory sessionFactory;

	private static SessionFactory buildSessionFactory() {
		try {
			// Creamos una factor�a de sesiones con los datos de hibernate.cfg.xml
			Configuration configuration = new Configuration();
			configuration.configure("ejercicios5_8/hibernateJPA.cfg.xml");
			System.out.println("Configuracion de Hibernate Cargada");
			System.out.println("Servicio de registro de Hibernate Realizado");
			SessionFactory sessionFactory = configuration.buildSessionFactory();
			return sessionFactory;
		} catch (Throwable ex) {
			// En un caso real se registra en un log
			System.err.println("Fallo la creacion de la factoria de sesiones inicial." + ex);
			throw new ExceptionInInitializerError(ex);
		}
	}

	/*
	 * M�todo est�tico (Fachada) para crear la factor�a de sesiones
	 */
	public static SessionFactory getSessionFactory() {
		if (sessionFactory == null)
			sessionFactory = buildSessionFactory();
		return sessionFactory;
	}

}
