1

オブジェクトを HTML フォームにバインドするために Spring Forms を使用しています。オブジェクトはデータベースに既に存在するため、現在編集中です。

問題は、AJAX またはページ全体の要求を介してオブジェクトを更新しようとすると、サーバーに戻ってorg.hibernate.StaleObjectStateException.

私はDAOを試してみましたが、どちらも機能しませんcontext.currentSession().saveOrUpdate(instance)context.currentSession().update(instance)

バージョン列をスプリングバインディングに追加すると、休止状態のversion列がこの問題を引き起こしているようです。

<sf:hidden id="myobject-id" path="myobject.version"/>

保存することはできますが、AJAX 経由で保存してから完全保存リロード経由で再度保存すると、バージョンが AJAX 保存経由で再度変更されたため (現在のフォームとは異なります)、StaleObjectStateException が再び表示されます。

とにかく、バージョン列をフォームにバインドする必要はありません。これを行うには、よりエレガントな方法が必要です。

私は何を間違っていますか?

4

0 に答える 0