afterInsert我有一个域类,它在事件中修改其属性之一。
一个小例子:
class Transaction {
Long transactionId
static constraints = {
transactionId nullable: true
}
def afterInsert() {
// copy the record id to transactionId;
transactionId = id
}
}
每当我在单元测试中保存域对象( transaction.save(flush: true))时,一切都很好,并且transactionId更新了。但是当我尝试使用 查找保存的记录时,Transaction.findByTransactionId()我没有得到任何结果:
// do something
transaction.save(flush: true)
Transaction transaction = Transaction.findByTransactionId(1)
// !! no results; transaction == null
我必须做一个双倍save()才能找到记录findByTransactionId():
// do something
transaction.save(flush: true)
transaction.save(flush: true)
Transaction transaction = Transaction.findByTransactionId(1)
// !! it works....
双子save()似乎很尴尬。关于如何消除对它的需要的任何建议?