Olá gostaria de saber o que o bloco static {} faz, como no código abaixo [um exemplo de HibernateUtil.java]:
package br.com.oxygen.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
* Created by IntelliJ IDEA.
* User: CodeWarrior
* Date: 19/09/2008
* Time: 18:59:08
* Obs: Classe responsável pelo gerenciamento das seasons (conexões com o Banco de Dados)
*/
public class HibernateUtil {
//Global vars
private static SessionFactory factory;
//Getters ans Setters
//Default Constructor
//Methods
static {
try {
//Cria uma nova fábrica de conexões já configurada
factory = new Configuration().configure().buildSessionFactory();
} catch (Exception e) {
System.out.println("Erro ao pegar criar uma conexão! Fábrica está em greve!");
e.printStackTrace();
//Garante uma fábrica vazia caso dê algo errado.
factory = null;
}
}
//Retorna uma sessão já configurada
public static Session getSession() {
return factory.openSession();
}
}