beforeUpdateOf* はありますか (* はフィールドですか?)
と別の質問:
def beforeUpdate= { log.info("in beforeUpdate" +this.status) }
def afterUpdate = { log.info("in afterUpdate " +this.status) }
これは両方とも同じステータスを与えます。実際にはオブジェクト(this)のステータスはxからyに更新されますが
beforeUpdateOf* はありますか (* はフィールドですか?)
と別の質問:
def beforeUpdate= { log.info("in beforeUpdate" +this.status) }
def afterUpdate = { log.info("in afterUpdate " +this.status) }
これは両方とも同じステータスを与えます。実際にはオブジェクト(this)のステータスはxからyに更新されますが
プロパティが変更されたときのイベントはありませんが、何かを行う明示的なセッターを追加できます。
class MyDomainClass {
String status
void setStatus(String status) {
this.status = status
// do something based on changed value
}
}
に同じ値が表示されbeforeUpdate
てafterUpdate
います。これらのコールバックは、Hibernateが変更された値をデータベースに保存するときのものであるためです。Hibernateが更新を開始してから終了するまでの間に値が変化することはまれです。
データベースから元の値を探している場合は、 http: //grails.org/doc/latest/ref/Domain%20Classes/getPersistentValue.htmlを使用して入手できます。