Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package br.ifes.gerenciadormesada.conexao; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; /** * * @author Vinicius */ public class HibernateUtil { //objeto que fabrica uma ou mais instncia de sesses de acesso ao banco a partir da //configuraes do objeto serviceRegistry private static SessionFactory sessionFactory; //objeto responsvel pela configuraes do hibernate.cfg.xml private static ServiceRegistry serviceRegistry; @SuppressWarnings("unused") private static SessionFactory buildSessionFactory() { try { //objeto que armazena configuraes do hibernate.cfg.xml Configuration configuration = new Configuration(); //mtodo que l e valida as configuraes em hibernate.cfg.xml configuration.configure(); //aplica e carrega as configuraes no objeto serviceRegistry //serviceRegistry = (ServiceRegistry) new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); serviceRegistry = (ServiceRegistry) new ServiceRegistryBuilder() .applySettings(configuration.getProperties()).build(); //cria uma ou mais instncias de sesso da configurao. Geralmente //uma aplicao tem uma nica instncia de sesso e threads servindo pedidos de clientes //obtendo instncias da sesso do factory (fbrica) sessionFactory = configuration.buildSessionFactory(serviceRegistry); return sessionFactory; } catch (Exception e) { throw new ExceptionInInitializerError("Criacao do objeto falhou: " + e); } } public static SessionFactory getSessionFactory() { return buildSessionFactory(); } public static Session getSession() { return sessionFactory.getCurrentSession(); } }