Comment faire pour récupérer sessionFactory de mise en veille prolongée 4.3.4.Final?

Auparavant, j'ai été en utilisant le code suivant pour configurer la sessionFactory, mais après la mise à niveau de la version de mon hibernation 4.2.1.Finale de l'article 4.3.4.Final, je ne peux pas récupérer sessionFactory en utilisant le code suivant en tant que ServiceRegistryBuilder() est obsolète.

J'ai utilisé ce lien de la créer mais la fonction fournie n'est pas le retour de toute chose, donc, il s'agit d'un pré-erreur de compilation.

 private static SessionFactory configureSessionFactory() {
        try {
            Configuration configuration = new Configuration();
            configuration.configure();
            serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
            sessionFactory = configuration.buildSessionFactory(serviceRegistry);
            return sessionFactory;
        } catch (HibernateException e) {
            System.out.append("** Exception in SessionFactory **");
            e.printStackTrace();
        }
        return sessionFactory;
    }

     static {
    try {
        sessionFactory = configureSessionFactory();
    } catch (Exception e) {
        System.err.println("%%%% Error Creating SessionFactory %%%%");
        e.printStackTrace();
    }
}

private HibernateUtil() {
}

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}

public static Session getSession() throws HibernateException {
    Session session = threadLocal.get();

    if (session == null || !session.isOpen()) {
        if (sessionFactory == null) {
            rebuildSessionFactory();
        }
        session = (sessionFactory != null) ? sessionFactory.openSession() : null;
        threadLocal.set(session);
    }

    return session;
}

public static void rebuildSessionFactory() {
    try {
        sessionFactory = configureSessionFactory();
    } catch (Exception e) {
        System.err.println("%%%% Error Creating SessionFactory %%%%");
        e.printStackTrace();
    }
}

public static void closeSession() throws HibernateException {
    Session session = (Session) threadLocal.get();
    threadLocal.set(null);

    if (session != null) {
        if (session.isOpen()) {
            session.close();
        }
    }
}
Quelle est votre méthode setField faire? Il semble assez central, après tout...

OriginalL'auteur AlexCartio1 | 2014-03-13