Grails 为什么最近添加的一些字段没有被构造函数初始化

Grails 为什么最近添加的一些字段没有被构造函数初始化,grails,groovy,Grails,Groovy,Groovy将告诉我它的所有动态可能性对我来说仍然是新的,我有点不明白为什么下面的代码不能工作 def luke = new FooPerson(firstName: "Luke", lastName: "Skywalker", initials: "LS", login: "luke", password: "luke" ) 上面给出了firstName、lastName和缩写的正确值,而对于登录名和密码,我得到null 如果使用上述代码,我将调用 luke.setLogin("luke")

Groovy将告诉我它的所有动态可能性对我来说仍然是新的,我有点不明白为什么下面的代码不能工作

def luke = new FooPerson(firstName: "Luke", lastName: "Skywalker", initials: "LS", login: "luke", password: "luke" )
上面给出了firstName、lastName和缩写的正确值,而对于登录名和密码,我得到null

如果使用上述代码,我将调用

luke.setLogin("luke")
luke.setPassword("luke")
我将得到所有字段的正确值

所有五个字段都在类中声明

class Person {

   static constraints = {
   }

   String firstName
   String lastName
   String initials
   String login
   String password

   } 
我可爱的美食家继承自。我的问题字段最初不在Person类中。我最近添加了它们,显然这会给groovy带来一些压力


当然我可以解决这个问题,但我想知道为什么它会以这种奇怪的方式工作

正如@dmahapatro所指出的,升级到grails 2.2.4解决了这个问题。
我已经调查过了,没有发现任何与此相关的有意义的东西,但它解决了问题。

这根本不应该成为问题。它的工作原理与Grails2.2.4中的预期一样。您使用的是哪一版本的Grails?2.2.3我将检查2.2.4并让您知道。仅供参考。这也不是2.2.3的问题。“我敢打赌还有什么事困扰着你。@dmahapatro我确实升级到了2.2.4,然后升级了我的应用程序,它工作起来很有魅力。”。