传入null时,Grails2.5域类中的默认值不起作用

传入null时,Grails2.5域类中的默认值不起作用,grails,default,Grails,Default,我最近从2.3.11升级到Grails2.5.0 我有一个域名:String country='USA' null的输入值不再默认为USA 以下是各种输入值的结果 Grails country value country value Version in request in response 2.3.11 not included USA null

我最近从2.3.11升级到Grails2.5.0

我有一个域名:String country='USA'

null的输入值不再默认为USA

以下是各种输入值的结果

Grails      country value       country value
Version     in request          in response

2.3.11      
            not included        USA
            null                USA
            ""                  null
            "Mexico"            "Mexico"

2.5.0       
            not included        USA
            null                null
            ""                  null
            "Mexico"            "Mexico"

您可能会发现需要为字符串country添加nullable true作为约束,这是grails的更高版本内置的锁定的一部分。您还可以尝试在域类中声明默认值,如static mapping={country defaultValue:'USA'}。通常在顶部定义它硬编码它-检查后端数据库创建tooI尝试了映射{}解决方案,它没有将值设置为USA。我尝试了映射{}解决方案,它没有将缺少的值或空值设置为USA。当我传入空值或“{”代码时,country(nullable:false)返回一个错误:“030”,“消息”:“类gvl.Premises]的属性[国家]不能为null(030)”,“对象”:“gvl.Premises”,“字段”:“国家”,“拒绝的值”:null}这不是我们正在寻找的解决方案。似乎Grails 2.5中的某些内容已被更改或破坏。很可能,值得测试2.5.1或返回到2.4.5,看看它是否适用于这两个版本中的任何一个。您可能会发现您需要为字符串国家/地区添加nullable true作为约束,它是的后续版本中内置的锁定的一部分grails。您也可以尝试在域类中声明默认值,如static mapping={country defaultValue:'USA'}。通常在最上面的硬代码中定义它-检查后端数据库创建工具我尝试了映射{}解决方案,但没有将值设置为USA。我尝试了映射{}解决方案,它不会将缺少的值或null值设置为USA。当我传入null或“{”code:“030”,“message:“[class gvl.Premises]的属性[country]不能为null(030)”,“object:“gvl.Premises”,“field:“country”,“rejected value:”null}时,country(可为null:false)返回错误这并不是我们正在寻找的解决方案。Grails2.5中似乎有什么东西被改变或破坏了。很可能,值得测试2.5.1,或者返回到2.4.5,看看它是否适用于这两个版本中的任何一个。