[Java] Hibernate の Configuration::buildSessionFactory() は 4.0 で非推奨(Deprecated)に

Hibernate の使い方を Web で調べると、例えば以下のようなコードを見かけます。

private static SessionFactory sessionFactory;

private SessionFactory getSessionFactory() throws HibernateException {
    sessionFactory = new Configuration()
            .configure()
            .buildSessionFactory();
    return sessionFactory;
}

しかし、Hibernate で SessionFactory を取得するメソッド Configuration::buildSessionFactory() (引数なし)は、Hibernate 4.0 で非推奨になっています。

対応策としては、以下のようなコードになります。

private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;

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

参考URL: http://stackoverflow.com/questions/8621906/is-buildsessionfactory-deprecated-in-hibernate-4


Pocket
Bookmark this on Yahoo Bookmark

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>