【问题标题】:Grails domain property defaultValue does not setGrails 域属性 defaultValue 未设置
【发布时间】:2016-12-06 21:20:02
【问题描述】:

在域中,我对状态属性有以下说明

static mapping={
    status defaultValue="NNE"
}

static constraints={
   status(nullable:false, inList:["NNE","NMO","NJE"])
}

但是当我创建域对象的新实例时,状态为 null 而不是设置为默认值。

def instance=new Ticket();
println instance.status;// this is NULL instead of the default "NNE"

应该是这样吗?

【问题讨论】:

  • 在 Grails 3 和 MySQL 中也不适合我。在 Grails 之外插入一行时,默认值被正确设置。在 Grails 中,该值为 NULL。

标签: grails grails-orm


【解决方案1】:

不,事实并非如此。 defaultValue 是数据库约束的提示(mapping 影响数据库模式)而不是域类本身。如果您想要默认值,请在属性上设置默认值。例如:

class TheClass {
  String status = 'DEFAULTHERE'
  ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 2023-03-16
    • 2014-10-31
    • 2014-12-14
    • 1970-01-01
    相关资源
    最近更新 更多