मैं एक grails प्लगइन लिख रहा हूं और मुझे बचाने के बाद कुछ तर्क करने के लिए डोमेन सेव() विधि में हुक करने की आवश्यकता है। मुझे इसे कई डोमेन कक्षाओं में करने की ज़रूरत है। मैं उन मामलों में हाइबरनेट घटनाओं से बचने की कोशिश कर रहा हूं जहां एक प्लगइन उपयोगकर्ता GORM के साथ हाइबरनेट का उपयोग नहीं कर रहा है।Grails में ऑब्जेक्ट डोमेन ऑब्जेक्ट सेव()
मैंने कई चीजों की कोशिश की है लेकिन नीचे मुझे लगता है कि काम करने का सबसे अच्छा मौका होना चाहिए था। सभी मामलों में grailsSaveशून्य है। मैं यह कैसे कर सकता हूँ?
def doWithDynamicMethods = { ctx ->
application.domainClasses.each { dc ->
def grailsSave = dc.metaClass.pickMethod('save', [Map] as Class[])
domainClass.metaClass.save = { Map params ->
grailsSave.invoke(delegate, [params] as Object[])
println "Saved object, now do my thing"
//...
}
}
}
मैं अपने * Plugin.groovy वर्ग में सेट निम्नलिखित है:
def dependsOn = [domainClass: '1.1 > *', hibernate: '1.1 > *']
def loadAfter = ['hibernate']
शॉन और उनके लेखापरीक्षा लॉगिंग प्लगइन चट्टानों। –
साझा करने के लिए धन्यवाद! मैं इसे अपने आप को देखने के लिए आलसी रहा हूँ। – Kimble