Я ищу хороший способ управления сеансом гибернации через веб-приложение.Моя проблема в том, что я не хочу разрешать доступ к сеансу на уровне представления или API.поэтому я построил следующий метод в моем абстрактном классе BaseDao.метод метод
protected static Session getSession() {
if(!session.isOpen()){
session = sessionFactory.openSession();
}else{
session.clear();
}
return session;
}
использование:
public IHibernateBean save(IHibernateBean bean) {
Transaction t = session.beginTransaction();
getSession().saveOrUpdate(bean);
t.commit();
return bean;
}
public IHibernateBean getByPK(Class<?> class1 , Long pk) {
IHibernateBean hibernateBean = (IHibernateBean) getSession().get( class1 , pk );
return hibernateBean;
}