我正在服务中工作,我有以下两个电话:
def user = User.get(2)
user = user.get(1)
这个例子是人为的,但它说明了我的问题。对于第一行,我得到id为2的用户。此时我有一个完全填充的域对象,一切都很好。这些字段填充在数据库中,因此它不像缺少数据那么明显。如果我先调用User.get(1)
,我将拥有一个填充正确的域对象。但是,当我进行第二次调用(重新分配)时,我得到一个半填充记录。我错过了用户的firstName,lastName和email字段。这似乎是一个非常简单的用例,我过去从未遇到过这个问题。我在做一些真蠢的事吗?有没有这样的事情发生在其他人身上?
一些字段定义:
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)