Grails中class []的Property []不能为null

时间:2013-11-15 11:54:55

标签: grails

我是Grails的新手,当我在所有域内容上运行项目时,在我的三个域中的两个域中出现此错误。作品的领域是

class Location {

    def scaffold = true


    String company 
    String name 
    String address
    static belongsTo=[company:Company]

    static constraints = {

}

}

无法使用的域

class Report {

    def scaffold = true

    String   title
    String   location 
    Date     published

    static belongsTo=[location:Location]

    static constraints = {

}
}

我看不到弄错错误的结构或语法问题。我一直在尝试各种添加和减法,似乎无法在基本级别找到解决此错误的任何内容。我刚刚开始使用Grails和Groovy

4 个答案:

答案 0 :(得分:1)

执行@ araxn1d告知的更改后,您还应检查约束。默认情况下,所有属性都不可为空(这就是为什么你会得到title属性的错误)

如果您的数据库中已有数据,则有两种选择:

  1. 更新数据库并在每个表或行中设置正确的值
  2. 将域中的每个属性设置为可为空。例如

    静态约束= {     title nullable:true }

答案 1 :(得分:1)

您是否在创建没有设置属性的报告?默认情况下,Grails将检查所有属性是否为空。如果您想允许用户将某个字段保留为undefined(null),那么您必须在constraints map中明确告诉Grails:

static constraints = {
  propertyName nullable: true
}

答案 2 :(得分:0)

似乎错误就在这一行:

String location 

位置String类型,但应为Location类型。与位置域中的String company相同,应为Company company

答案 3 :(得分:0)

我认为问题在于,在为域生成自动创建的视图/控制器后,您已经更改了域类的结构。

我通过删除违规域以及控制器/视图文件并重新创建它来修复它。我相信你可以通过根本找到有问题的代码。