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()
似乎很尴尬。关于如何消除对它的需要的任何建议?