hibernate / grails - 将字符串保存为long的异常

时间:2014-03-17 09:22:05

标签: hibernate grails

保存我的桌子时有例外:

ERROR util.JDBCExceptionReporter - 列MYSTRING VARCHAR(255)的值太长“:”......(401)“

我应该绝对添加约束(最大尺寸)吗? 如果是,我最初会考虑这个约束以避免异常吗?

域名:

class MyClass {

   String myString

}

控制器:

def myString = params.q.toString()
def MyClassInstance = new MyClass (myString: myString)
MyClassInstance .save(flush: true)

1 个答案:

答案 0 :(得分:1)

默认情况下,Grails中的所有String值都设置为255个字符。但是,您可以使用大小约束更改此值,或将其映射到TEXT或CLOB字段。

选项#1(约束)

class MyClass {
  String myString
  static constraints = {
    myClass(blank: true, size:0..500) 
  }
}

以上示例将允许零到500个字符,包括空白。

选项#2(映射)

class MyClass {
  String myString
  static mapping = {
    myString type: 'text'
  }
}

上面的示例将使用数据库中的TEXT字段而不是VARCHAR。