我在服务内部工作,我有以下两个电话:
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)