В настоящее время я переучиваю Hibernate, который я не использовал в течение примерно пяти-шести лет, и я пытаюсь вспомнить, как мы использовали его на старом рабочем месте (Hibernate in Action on заказываю ...)Использование SessionFactory без весны?
В настоящее время я не использую весну в своем приложении, и мне интересно, как лучше всего получить SessionFactory в моем приложении, чтобы поделиться им с моими помощниками по сохранению - я, кажется, Напомним, что вы, как правило, только хотите его использовать. В моем текущем коде я выбираю сделать так, как это в классе, общей для всех моих peristence «помощников»:
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;
}
}
ли это даже иметь смысл для людей, или я должен идти об этом в другой по причинам эффективности и т. д.?
Для меня это кажется прекрасным (так мы это делали в старину). Единственное, что я хотел бы предложить, - это заботиться о потоках. Я бы сделал блок, который синхронизирует SessionFactory. –
Точнее весь блок 'if' (включая нулевую проверку). –