Grails域重新加载缺少的属性

Grails域重新加载缺少的属性,grails,gorm,Grails,Gorm,我在一个服务的内部工作,我有以下两个电话: def user = User.get(2) user = user.get(1) 这个例子是人为的,但它说明了我的问题。对于第一行,我得到id为2的用户。在这一点上,我有一个完全填充的域对象,一切都很好。字段填充在数据库中,因此它不像丢失数据那样明显。如果我先调用User.get(1),我将得到一个正确填充的域对象。但是,当我进行第二次调用(重新分配)时,我会得到一个半填充的记录。我缺少用户的名字、姓氏和电子邮件字段。这似乎是一个非常简单的用例,我

我在一个服务的内部工作,我有以下两个电话:

def user = User.get(2)
user = user.get(1)
这个例子是人为的,但它说明了我的问题。对于第一行,我得到id为2的用户。在这一点上,我有一个完全填充的域对象,一切都很好。字段填充在数据库中,因此它不像丢失数据那样明显。如果我先调用
User.get(1)
,我将得到一个正确填充的域对象。但是,当我进行第二次调用(重新分配)时,我会得到一个半填充的记录。我缺少用户的名字、姓氏和电子邮件字段。这似乎是一个非常简单的用例,我过去从未遇到过这个问题。我在做什么蠢事吗?这样的事情发生在其他人身上了吗

一些字段定义:

String username
String emailAddress
String firstName
String lastName
String password
String photoUrl
String title
String contactPhone 
相应的限制条件:

username(blank: false, unique: true)
photoUrl(nullable: true)
title(nullable: true)
contactPhone(nullable: true)
welcomeText(nullable: true)
emailAddress(blank: false, nullable: false)
firstName(blank: false)
lastName(blank: false)

数据库中是否确实存在这些字段的值?可以从数据库中获取无法验证的对象。是的,数据库中存在字段。如果我“得到”每个id,它就可以正常工作。只有当我尝试重新分配时,我才有问题。这真的很奇怪。这似乎是一个缓存问题。如果我将一个域对象传递到服务中,然后尝试重新加载同一个域对象,则只能得到部分结果。我可以加载除传递到服务中的记录之外的任何其他记录。很奇怪,但就是这样。