gpt4 book ai didi

grails - 保存域对象失败时默认 o.errors.allErrors.each { println it }

转载 作者:行者123 更新时间:2023-12-02 09:03:41 25 4
gpt4 key购买 nike

当使用 Grails/GORM 持久化域对象时,我经常发现自己想知道为什么 save() 调用失败。

这可以通过添加逻辑轻松解决:

if (!o.save()) {
o.errors.allErrors.each { println it }
}

但是,在我执行 .save() 的任何地方添加此内容都会添加大量重复代码。本着 DRY 的精神,我想配置 Grails/GORM 自动将任何保存错误打印到控制台 (stderr)。那可能吗?如果没有,我如何扩展 GORM 使其成为可能?

最佳答案

解决方案:

Object.metaClass.s = {
def o = delegate.save()
if (!o) {
delegate.errors.allErrors.each {
println it
}
}
o
}

这添加了一个名为 s() 的方法,该方法将调用 save() 并打印任何错误。

关于grails - 保存域对象失败时默认 o.errors.allErrors.each { println it },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/611282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com