Boa noite.
Eu estou postando dois codigos abaixo.
Código # 1
public class HibernateUtil {
private static SessionFactory factory;
static {
Configuration configuration = new AnnotationConfiguration();
configuration.configure();
factory = configuration.buildSessionFactory();
}
public static Session getSession(){
logger.info("Open new session");
return factory.openSession();
}
}
Código #2
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory(){
try{
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
return cfg.buildSessionFactory();
}catch(Throwable e){
System.out.println("A criação do objeto sesion falou Erro:" + e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory(){
return sessionFactory;
}
}
Eu gostaria de saber se existe alguma vantagem de um em relação ao outro? Se existe alguma diferença entre eles no que tange o processo de criação e performace de uma session factory?.
Obrigado a todos
Um grande abraço