afterInsert
イベントでそのプロパティの1つを変更するドメインクラスがあります。
小さな例:
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()
はぎこちないようです。それの必要性を排除する方法についての提案はありますか?