Is the buildSessionFactory() Configuration method deprecated in Hibernate Is the buildSessionFactory() Configuration method deprecated in Hibernate java java

Is the buildSessionFactory() Configuration method deprecated in Hibernate


Yes it is deprecated. Replace your SessionFactory with the following:

In Hibernate 4.0, 4.1, 4.2

private static SessionFactory sessionFactory;private static ServiceRegistry serviceRegistry;public static SessionFactory createSessionFactory() {    Configuration configuration = new Configuration();    configuration.configure();    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(            configuration.getProperties()). buildServiceRegistry();    sessionFactory = configuration.buildSessionFactory(serviceRegistry);    return sessionFactory;}

UPDATE:

In Hibernate 4.3 ServiceRegistryBuilder is deprecated. Use the following instead.

serviceRegistry = new StandardServiceRegistryBuilder().applySettings(            configuration.getProperties()).build();


Yes, it is deprecated. http://docs.jboss.org/hibernate/core/4.0/javadocs/org/hibernate/cfg/Configuration.html#buildSessionFactory() specifically tells you to use the other method you found instead (buildSessionFactory(ServiceRegistry serviceRegistry)) - so use it.

The documentation is copied over from release to release, and likely just hasn't been updated yet (they don't rewrite the manual with every release) - so trust the Javadocs.

The specifics of this change can be viewed at:

Some additional references:


or

public class Hbutil {    private static SessionFactory sessionFactory;    private static ServiceRegistry serviceRegistry;    private static SessionFactory configureSessionFactory() throws HibernateException {        Configuration configuration = new Configuration();        configuration.configure();        serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();                sessionFactory = configuration.buildSessionFactory(serviceRegistry);        return sessionFactory;    }    public static SessionFactory getSessionFactory() {        return configureSessionFactory();    }}