現在のプロジェクトでいくつかのgrailsgormコードを調べていますが、次のHQLアプローチの長所と短所は何でしょうか。
UploadUpsell.executeUpdate("update UploadUpsell set processedStatus=:newStatus, processedDate=:processedDate where processedDate is null and period=:period",
[newStatus: EXPIRED_UPSELL_STATUS, processedDate: new Date(), period: flow.period])
私は線に沿ってもっと慣用的なアプローチをとっていただろう
UploadUpsell.findAllByPeriodAndProcessedDate(flow.period, null).each { UploadUpsell uploadUpsell ->
uploadUpsell.with {
processedStatus = EXPIRED_UPSELL_STATUS
processedDate = new Date()
save()
}
}
私のアプローチはよりテスト可能で読みやすいと思いますが、私の考え方は独断的であるかどうか疑問に思っています
私の知る限り、HQLステートメントはgrailsモックフレームワークではサポートされていません。