У меня есть openSessionInView
фильтр в web.xml.
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
И я установил allowCreate
свойство HibernateDaoSupport на true
. Теперь для каждой операции с базой данных, если я получу Session по getSession
и закрою Session после транзакции, как:
public List<User> getAllUsers() {
Session session = getSession();
session.enableFetchProfile("USER-ROLE-PROFILE");
Transaction transaction = session.beginTransaction();
DetachedCriteria criteria = DetachedCriteria.forClass(User.class);
List<User> users = criteria.getExecutableCriteria(session).list();
transaction.commit();
session.disableFetchProfile("USER-ROLE-PROFILE");
session.close();
return users;
}
тогда это закрытие сеанса создаст какую-либо проблему в openSessionInView
?
Еще один вопрос:
Это хороший способ для выполнения различных операций гибернации? В приведенном выше коде сущность User
имеет профиль выборки.
Спасибо и всего наилучшего.