私は現在、5、6 年ほど使用していなかった Hibernate を再学習しており、以前の職場で使用していた方法を思い出そうとしています (Hibernate in Action は注文中です。 ..)
現在、アプリケーションでSpringを使用していません.1つ疑問に思っているのは、アプリケーションでSessionFactoryを取得して永続化ヘルパー間で共有する方法です-通常、1つだけを使用したいことを思い出したようです. 私の現在のコードベースでは、すべての永続的な「ヘルパー」に共通のクラスで、次のようにすることを選択しています。
public abstract class AbstractHelper {
private static final String CONFIG = "configuration.xml";
private static SessionFactory sessionFactory = null;
/**
* @return SessionFactory the Hibernate SessionFactory.
*/
public static SessionFactory getSessionFactory() {
if (sessionFactory == null) {
Configuration configuration = new Configuration();
configuration.configure(CONFIG);
ServiceRegistryBuilder serviceRegistryBuilder =
new ServiceRegistryBuilder().applySettings(configuration.getProperties());
sessionFactory = configuration.buildSessionFactory(
serviceRegistryBuilder.buildServiceRegistry());
}
return sessionFactory;
}
}
これは人々にとっても理にかなっていますか、それともパフォーマンスなどの理由で別の方法でこれを行う必要がありますか?