openSessionInView
web.xmlにフィルターがあります。
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
そしてallowCreate
、HibernateDaoSupport のプロパティを に設定しましたtrue
。getSession
セッションを取得し、トランザクションの後にセッションを閉じると、データベース操作ごとに次のようになります。
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
にフェッチ プロファイルがあります。
ありがとうございます。