4

変更したユーザー名を ( を使用してflush:true) 保存した後、次の式は false と評価されます。

User.get(u.getId()).name == u.refresh().name

左側は変更されたユーザー名を取得し、右側は「古い」値を返します。

アイデア?次の HTTP 要求で「u」参照を更新すると、うまくいくようです。

4

1 に答える 1

7

これはトランザクション内で行われていますか? コードがトランザクション内で実行されている場合、使用flush: trueしてもデータベースへの変更がすぐには保持されません。トランザクション内で行われたドメイン オブジェクトへの変更は、トランザクションが終了したときにのみフラッシュされます。

于 2011-01-14T00:37:55.213 に答える