我正在阅读Manning的书" Grails in Actions",我有以下问题。他们展示了一个示例,当您拥有数据模型对象时,可以在整个grails控制台中创建它的实例。我启动它,我创建它。它表示实例已创建,但当我回顾数据库时,Quote表为空并且没有实例。这很奇怪,因为控制台找到了数据模型。这些记录在哪里以及为什么不写入数据库?
域模型是:
package qotd
class Quote {
String content
String author
Date created = new Date()
static constraints = {
}
}
答案 0 :(得分:0)
这里可能会发生一些事情:
如果未达到您定义的约束,保存将失败,您可以使用下面的代码在控制台中快速检查,但在生产中您将检查验证错误。
quote.save(failOnError: true) // only for testing
最佳做法是在@Transnational
服务中使用此逻辑 - 如果您在外部工作,则使用交易
Quote.withTransaction { ...().save() }