如何用列表填充Grails域类

问题描述 投票:1回答:1

我必须使用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创建一个应用程序。目前,还没有数据库,它全部在内存中。我想要的是,一个模块可以容纳代表成绩的双打列表。域类...

grails gorm
1个回答
0
投票

您必须在您的域中添加hasMany静态属性:

© www.soinside.com 2019 - 2024. All rights reserved.