当我在grails中写入.save()时,它会在db表中插入一个新行。但是,不要在对象中保存数据。 我用.save(flush:true)尝试过,但没有运气。 请帮忙。Grails .save()不起作用
感谢
当我在grails中写入.save()时,它会在db表中插入一个新行。但是,不要在对象中保存数据。 我用.save(flush:true)尝试过,但没有运气。 请帮忙。Grails .save()不起作用
感谢
尝试save(failOnError:true)
或检查的save()
返回值 - 这是成功/失败在Groovy的真相。
您还可以添加logSql: true
您application.yml数据源和
logger 'org.hibernate.type.descriptor.sql.BasicBinder', TRACE, ['STDOUT']
logger 'org.hibernate.SQL', TRACE, ['STDOUT']
您logback.groovy
save(failOnError:true)也不起作用。 –
@AbhisekPattnaik whas确实“不正常”?你会得到一个异常?那么,宾果,这是它不保存的原因。 – cfrick
大概要保存未通过验证的对象。意思是不符合领域类中描述的最小约束。
调试您的代码并运行验证的方法,然后查看错误属性。
object.validate()
object.errors
看看 https://docs.grails.org/latest/ref/Constraints/Usage.html
记住的约束关闭所有未声明的属性,是强制性的默认保存对象
什么的Grails的版本?并且,您是否尝试过.validate()和.hasErrors()以确保您的所有数据都是有效的? – Daniel
版本是2.5.1。是的,我尝试使用.valiadte()和.hasErrors()。 –
如果您认为您可以排除您未能捕捉到的验证错误,还请提供代码以备份此错误。 – cfrick