次の問題があります。
- アプリのビューとコントローラーに Oracle ADF を使用しています。
- OpenSessionInViewFilter を使用して、リクエストをインターセプトして Hibernate のセッションを開き、Bean のメソッドが終了するとすぐにセッションを閉じます。
私が必要とするのは、ページがレンダリングされるまでセッションを開いたままにすることです。これは、私の JSP では、DB からロードしたオブジェクトの遅延属性を使用するためです。
例えば:
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}" />
...
af:inputText が処理されるまで、Hibernate のセッションを開いたままにしておいてください。
これは可能ですか?どのように?
前もって感謝します