我遇到以下问题:
- 我将 Oracle ADF 用于我的应用程序的视图和控制器。
- 使用 OpenSessionInViewFilter,我拦截了请求并打开了一个 Hibernate 的 Session,并在 bean 的方法完成后立即关闭它。
我需要的是保持会话打开直到页面被渲染,因为在我的 JSP 中使用我从数据库加载的对象的惰性属性。
例如:
当我输入 index.jspx 时, IndexBean#main() 被执行:
public class IndexBean{
private DBObject myDBObject;
public String main(){
this.myDBObject = this.myDAO.loadObjectFromDB();
return null;
}
}
在 index.jspx 我有:
...
<af:inputText value="#{myDBObject.lazyAttribute}" />
...
我希望 Hibernate 的 Session 保持打开状态,直到 af:inputText 被处理。
这可能吗?如何?
提前致谢