domainクラスでのdefaultValueに0を設定

  • 3
    いいね
  • 3
    コメント
この記事は最終更新日から1年以上が経過しています。

おそらくこのバージョン前後のバグ?ではないかと思われる挙動なのだが変にハマるかもしれない場所なので。
int型のカラムのデフォルト値を設定する場合

book.groovy
class Book{
 Integer num
  static mapping = {
    num defaultValue : 1
  } 
}

と記載すればデータベースのほうにもDefault値が1として設定されるが、これが0の場合どうにも上手くいかない。
その場合
num defaultValue : "0"
とダブルクォーテーションで囲ってあげるといい。
GrailsのGORMではどうにもこのような事が幾つかある気がする。
内部でSQLを生成する際に解釈しきれていないのだろうか?
ちなみにtype: intsqlType: intを指定しても解決はしなかった。