grails इससे पहले की अद्यतन करें अद्यतन करें




event-triggers (2)

क्या हमारे पास पहले अद्यतन है * (जहां * कुछ फ़ील्ड है?)

और एक और सवाल:

def beforeUpdate = {log.info ("पूर्व में अपडेट" + this.status)}

def afterUpdate = {log.info ("बाद में अद्यतन" + this.status)}

यह दोनों समान स्थिति प्रदान करता है हालांकि वास्तव में ऑब्जेक्ट की स्थिति (यह) x से y तक अपडेट की जाती है


जब संपत्ति बदल जाती है, तब कोई इवेंट नहीं है, लेकिन आप एक विशिष्ट सेटर में जोड़ सकते हैं जो कुछ करता है:

class MyDomainClass {
   String status

   void setStatus(String status) {
      this.status = status
      // do something based on changed value
   }
}

आप beforeUpdate और afterUpdate में beforeUpdate करते हुए उसी मान को देख रहे हैं क्योंकि उन कॉलबैक के लिए हैं जब हाइबरनेट परिवर्तित मान को डेटाबेस में beforeUpdate हैं हाइबरनेट समय के बीच बदलना मान के लिए असामान्य होगा, जो कि अद्यतन को शुरू और खत्म करता है।

यदि आप डेटाबेस से मूल मान की तलाश कर रहे हैं, तो यह http://grails.org/doc/latest/ref/Domain%20Classes/getPersistentValue.html का उपयोग कर उपलब्ध है।