我必须使用Grails 4创建一个应用程序。目前,还没有数据库,它全部在内存中。
我想要的是,一个模块可以容纳代表成绩的双打列表。
域类Module.groovy
:
package myapp
import grails.rest.Resource
@Resource(uri='/module', formats = ['json', 'xml'])
class Module {
String title
String description
int semesterID
List<Double> grades;
double finalGrade
static constraints = {
title blank:false
description blank:false
semesterID blank:false
}
}
要开发该应用,我想使用一个已填充的对象。因此,我在BootStrap.groovy中初始化了一些:
class BootStrap {
def init = { servletContext ->
//Create default Modules
new Module(title: "WebeC", description: "Web Engineering", semesterID: 1).save()
new Module(title: "WebeC", description: "Web Engineering", semesterID: 2).save()
new Module(title: "ism", description: "Information Security Management", semesterID: 2).save()
}
def destroy = {
}
}
到目前为止还不错,但是当我尝试填充成绩时,我失败了。我已经尝试过的东西:(全部在BootStrap.groovy中)
//test 1
new Module(title: "WebeC", description: "Web Engineering", semesterID: 1, grades: [4.0, 5.5, 3]).save()
//test 2
new Module(title: "WebeC", description: "Web Engineering", semesterID: 1, grades: {[4, 5, 6]}).save()
// test 3
def List<Double> temp = [4.0, 5.5, 3]
new Module(title: "WebeC", description: "Web Engineering", semesterID: 1, grades: temp).save()
输出始终相同:
[{"id":1,"title":"WebeC","semesterID":1,"grades":[],"description":"Web Engineering","finalGrade":0.0}, ...]
这仅仅是语法问题,还是我的整体方法错误?非常感谢]]
我必须使用Grails 4创建一个应用程序。目前,还没有数据库,它全部在内存中。我想要的是,一个模块可以容纳代表成绩的双打列表。域类...
您必须在您的域中添加hasMany
静态属性: