Olá, vi essa classe
[code]
/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package hibernateUtil;
import beans.Cliente;
import beans.Socio;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class ConnectDB {
private static final SessionFactory sessionFactory;
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
static {
try{
Configuration configuration = new AnnotationConfiguration()
.addAnnotatedClass(Cliente.class)
.addAnnotatedClass(Socio.class);
configuration.setProperty("hibernate.connection.url","jdbc:postgresql://localhost:5432/testeFrameworkAtualy");
configuration.setProperty("hibernate.connection.driver_class", "org.postgresql.Driver");
configuration.setProperty("hibernate.connection.username", "postgres");
configuration.setProperty("hibernate.connection.password","masterkey");
sessionFactory = configuration.buildSessionFactory();
}catch (Throwable t){
throw new ExceptionInInitializerError(t);
}
}
public static Session getInstance(){
Session session = (Session) threadLocal.get();
session = sessionFactory.openSession();
threadLocal.set(session);
return session;
}
} [/code]
E reparei que aquilo que está dentro do static{} é executado quando eu crio uma instancia da classe ou quando eu chamo o método estatico getInstance…
Mas não entendi como é o contexto de execução desse “método”… alguem me da uma luz?