列がnullの場合、grailsでデフォルト値を取得することは可能ですか? Grails ドメイン オブジェクトを介して次のクエリを表すとしたら、どうすればそれを実現できますか。
SELECT IFNULL(empsalary,0.00) from Employee;
ドメイン オブジェクト:
class Employee{
Integer id,
Float empsalary
static constraints = {
id unique: true, blank:false
empsalary nullable:true
}
}
- empsalary を nullable false にすることは、既存のデータのためオプションではありません
- empsalary のバリデーターは、行を挿入するときは機能するようですが、データをフェッチするときは機能しません
- ドメインにgetEmpSalary()メソッドを記述してそこでチェックを実行することを検討できますが、これを行う必要がある他のフィールドがいくつかあるため、大規模なコード変更を回避しようとしています