Grails 通过Bootstrap.groovy向应用程序添加init数据

Grails 通过Bootstrap.groovy向应用程序添加init数据,grails,Grails,我的域层如下所示: @Resource(uri='/product') class BasicProduct { String title String description Double price Date creationDate Date changedDate static constraints = { //everything is by default NotNull title(blank:

我的域层如下所示:

@Resource(uri='/product')
class BasicProduct {

    String title
    String description
    Double price
    Date creationDate
    Date changedDate

    static constraints = {
        //everything is by default NotNull
        title(blank: false, unique: true)
        description(blank: false)
        price(blank: false, inList: [5,15,25,50,100])
        creationDate(min: new Date())
    }

}
My
Bootstrap.groovy
包含以下代码:

class BootStrap {

    def init = { servletContext ->
         new BasicProduct(title: "Product1", description:"blblblblbalablablalbalbablablablablblabalalbllba", price:5).save()
         new BasicProduct(title: "Product2", description:"blblblblbalablablalbalbablablablablblabalalbllba", price:75).save()
         new BasicProduct(title: "Product3", description:"blblblblbalablablalbalbablablablablblabalalbllba", price:50).save()
         new BasicProduct(title: "Product4", description:"blblblblbalablablalbalbablablablablblabalalbllba", price:25).save()
         new BasicProduct(title: "Product5", description:"blblblblbalablablalbalbablablablablblabalalbllba", price:15).save()

         println "initializing data..."
    }
但是,当我打开
\product
url时,我没有看到任何数据

你知道为什么吗


谢谢你的回答

对于您的约会,您可以:

Date dateCreated
Date lastUpdated 

static mapping = {
  autoTimestamp true
}

使用.save(failOnError:true),我怀疑您会看到域上的creationDate为空。@Joshuamore是的,这是真的。但是我不想自己创建creationDate如何让grails创建它。约束是否错误?无需显式指定autoTimestamp true