1

a4j:commandButton を使用してフォームを 2 回目に送信しようとすると問題が発生します

私の見解は次のとおりです。

<h:form id="myform">      
    <a4j:region renderRegionOnly="true">
        <h:panelGroup>
            <h:inputText size="4" maxlength="2"
                id="input1"
                value="#{departementController.departement.name}">
            </h:inputText>
            <h:inputText size="4" maxlength="2"
                id="input1"
                value="#{departementController.departement.subdepartement.name}">
            </h:inputText>
        </h:panelGroup>
    </a4j:region>

    <h:panelGrid columns="1">
        <a4j:commandButton
            value="save"
            action="#{departementController.validateDepartement}"/>
    </h:panelGrid>
</h:form>

初めて保存を押すと、すべてがうまくいき、変更が保存されます。しかし、もう一度保存すると、次のようになります。

org.hibernate.LazyInitializationException: could not initialize proxy - no Session

確認したところ、validateDepartement() メソッドは 2 回目にまったく呼び出されず、この例外が発生し、保存に失敗しました。ビューでのオープン セッション (ビューでのトランザクション) を使用して、ビューでの遅延読み込みを処理しているとだけ言っておきましょう。

前もって感謝します、

ステファン

4

2 に答える 2