當我在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