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())
}
}
MyBootstrap.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