Quando si persistono oggetti di dominio che utilizzano Grails/GORM, spesso mi chiedo perché una chiamata save() fallisce.o.errors.allErrors.each {println it} per impostazione predefinita quando non si riesce a salvare un oggetto dominio
Questo può essere facilmente risolto con l'aggiunta di logica:
if (!o.save()) {
o.errors.allErrors.each { println it }
}
Tuttavia, l'aggiunta di questa ovunque faccio un .save() aggiunge un sacco di codice duplicato. Nello spirito di DRY mi piacerebbe configurare Grails/GORM per stampare automaticamente eventuali errori di salvataggio sulla console (stderr). È possibile? In caso contrario, come estendere GORM per renderlo possibile?
Questa è una bella espansione della risposta che ho fornito. Sono contento che l'hai risolto. – codeLes
Questo aggiungerà s() a tutti gli oggetti, non solo agli oggetti del dominio. Per aggiungerlo solo agli oggetti di dominio, penso che sia necessario eseguire la metaprogrammazione nella chiusura doWithDynamicMethods di un plug-in –