アプリケーションで何かが起こっている理由を理解するのに苦労しています。springとHibernateおよびstruts2を使用すると、デバッグ中に気付いた非常に奇妙なことがいくつかあります。
ユーザーが自分の情報を編集できるユーザーフォームがあります。このフォームが送信されると、コントローラーのsave()
メソッドはいくつかの処理を実行してユーザーを保存する必要があります。
奇妙なことに、コントローラーで何かを行う前に、誰がこの変更を行っているかについての情報を見つけたいと思っています。したがって、フォームを送信しているユーザーのIDに基づいて、データベースからユーザーオブジェクトをフェッチします。しかし、このユーザーオブジェクトがフェッチされたとき。次に、フォーム内のユーザーが自動的に送信されます...次のようにユーザーをフェッチしています。
User createdByUser = (User) getHibernateTemplate().find("from User u where u.username=?", username).get(0);
したがって、明らかに、何らかのメカニズムがユーザーを自動コミットしています。ほとんどの場合、createdByUserは送信されたユーザーと同じユーザーです。hibernateがこれを検出し、どういうわけかdbを同期しようとする可能性がありますか?