Created
November 9, 2011 18:39
-
-
Save marasergio/1352449 to your computer and use it in GitHub Desktop.
HibernateUtil - Configuração
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package configuracao; | |
import org.hibernate.SessionFactory; | |
import org.hibernate.cfg.AnnotationConfiguration; | |
/** | |
* | |
* @author Mara | |
*/ | |
public class HibernateUtil { | |
// declare um objeto do tipo SessionFactory | |
/* Mas pq o atributo é static? | |
* declare como static para que vc possa chamar esse método mesmo sem ter uma instância | |
* da classe HibernateUtil, conceito básico de encapsulamento. | |
*/ | |
// ops não esqueça de importar do pacote correto heim | |
// deve ser o pacote org.hibernate | |
public static SessionFactory sessionFactory; | |
public HibernateUtil() { | |
} | |
/*vamos criar um método que retorne a nossa sessionFactory aberta | |
*esse método tb deve ser static, pois um atributo static só pode ser visto | |
* por um método tb static | |
*/ | |
public static SessionFactory getSessionFactory() { | |
// verificar se nossa session é null, se for passar a configuração e abrir | |
if (sessionFactory == null) { | |
// por favor dentro de try e catch para tratarmos o erro se ocorrer | |
try { | |
// instanciar o objeto para receber a configuração | |
AnnotationConfiguration annotation = new AnnotationConfiguration(); | |
// vamos pedir para ler a configuração e abrir a sessão | |
sessionFactory = annotation.configure().buildSessionFactory(); | |
} catch (Throwable ex) { | |
/* Throwable é o pai de todas as excessões então qualquer | |
* excessão que ocorrer será tratada | |
*/ | |
System.out.println("Erro ao inicar o Hibernte " + ex); | |
throw new ExceptionInInitializerError(ex); | |
} | |
// se td der certo retorna a sessao aberta | |
return sessionFactory; | |
} else { | |
return sessionFactory; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment