Hibernate buildSessionFactory() deprecated

Jugando con Hibernate, me he puesto con la última versión, la 4 no sé cuántos. Me cojo mi viejo código, copy-paste para empezar a hacer algo y me encuentro con 

return new Configuration().configure().buildSessionFactory();

Pues sí, el método buildSessionFactory() está obsoleto. Mirando la API, te dice que uses en su lugar buildSessionFactory(ServiceRegistry). Chachi piruli, ¿y qué demonios es y de dónde saco un ServiceRegistry de esos? Ale, toca mirar la documentación oficial y nos encontramos esto http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/#hibernate-gsg-tutorial-basic-test donde usan, por supuesto, el método obsoleto.

A googlear un poco y veo que es un problema compartido por mucha gente, nadie encuentra una solución oficial para ello. En Stack Overflow muestran una solución que funciona y que es más o menos la que ha empezado a seguir la gente Así que nada, copy-paste de aquí y allá y aquí queda 

Configuration configuration = new Configuration().configure();

ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties())
              .buildServiceRegistry();
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);

 

Este lee el fichero de configuración por defecto de hibernate, el hibernate.cfg.xml en el classpath.

 

Entradas relacionadas:

2 comentarios en “Hibernate buildSessionFactory() deprecated

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.