我一直在使用以下速记将我的数据库中的实体保存在 grails 中......
def jim = new User(name: "Jim",
emailAddress: "jim@hotmail.com",
backOfficeUser: false,
dateCreated: Instant.now(),
lastUpdated: Instant.now(),
passwordHash: BCrypt.hashpw("secret123", BCrypt.gensalt())).save(flush: true)
这一切似乎都工作正常,直到导致 .save() 和 save(flush: true) 返回 null 为止。如果我将语句更改为此它可以正常工作......
def jim = new User(name: "Jim",
emailAddress: "jim@hotmail.com",
backOfficeUser: false,
dateCreated: Instant.now(),
lastUpdated: Instant.now(),
passwordHash: BCrypt.hashpw("secret123", BCrypt.gensalt()))
jim.save(flush:true)
Jim 实例将立即拥有一个由数据库序列发出的 id,并在调用 save 时持久化。