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:

Esta entrada ha sido publicada en Hibernate y etiquetada como . Guarda el enlace permanente.

2 respuestas a Hibernate buildSessionFactory() deprecated

  1. Danny dijo:

    Pero el ServiceRegistryBuilder también esta Deprecated… no entiendo la solución.

  2. Chuidiang dijo:

    Hola:

    Allá, por el 2012 (lo siento, no se ve el año del post), imagino que no lo estaba. De hecho, esta obsoleto desde la versión 4.3, que es de finales del año pasado/principios de este https://hibernate.atlassian.net/browse/HHH/?selectedTab=com.atlassian.jira.jira-projects-plugin:versions-panel

    Se bueno.

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.