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))を保存するたびに、すべてが正常に行われ、が更新されます。しかし、を使用して保存されたレコードを検索しようとすると、結果が得られません。transactionIdTransaction.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()はぎこちないようです。それの必要性を排除する方法についての提案はありますか?