ここで本当に明らかな何かが欠けている場合は申し訳ありませんが、この問題で髪を引っ張っています.
コマンドオブジェクトがあります:
class MyCommand {
Long id
String value
}
コントローラーでこれにバインドします:
public update(MyCommand myCmd) {
}
このシナリオでは、すべて問題ありません。今、リクエストパラメーターでコマンドオブジェクトに渡されるバージョンフィールドを追加しようとしています:
class MyCommand {
Long id
Long version
String value
}
ただし、バインドが発生すると、id とバージョンは、params オブジェクトに存在していても、常に null になります。
grails がオプティミスティック ロックを処理する方法に関連する id / version 属性の特別な処理があるのではないかと疑っていましたが (これが最終的に私がこれを行っている理由です)、ドメイン オブジェクトとは無関係にコマンド オブジェクトに問題が存在します。
なぜこれが機能しないのか、私は困惑しています。コマンドオブジェクトにバージョンが存在する特別なケースはありますか?