1

I have the following java code:

package modelo.util;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.SessionFactory;

public class HibernateUtil {

    private static final SessionFactory sessionFactory;
    
    static {
        try {
            sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Log the exception. 
            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }
    
    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

Does the following line deprecate the above code:

import org.hibernate.cfg.AnnotationConfiguration;
...= new AnnotationConfiguration().configure().buildSessionFactory();

I am working with hibernate 4.3.1 and Netbeans.
Thanks

1 Answer 1

2

The javadoc says:

All functionality has been moved to Configuration

Just replace org.hibernate.cfg.AnnotationConfiguration with org.hibernate.cfg.Configuration.

Configuration.buildSessionFactory has been deprecated in favour of the method that takes a ServiceRegistry. You'll have to configure one with a ServiceRegistryBuilder.

Configuration configuration = new Configuration();
StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder();
builder.applySettings(configuration.getProperties());
ServiceRegistry serviceRegistry = builder.build();
sessionFactory = configuration.configure().buildSessionFactory(serviceRegistry);
2

Not the answer you're looking for? Browse other questions tagged or ask your own question.