我有Message域类,用于向网站管理员发送电子邮件
class Message {
String name
String subject
String body
}
我认为String不会有最大的大小,但是当人们输入太大的消息时,我会在日志文件中看到异常。现在我设置一个约束来限制消息的大小为250但不能使它更大,否则保存失败。我正在使用PostgreSQL 9.1.1和Grails 1.3.7。有谁知道解决这个问题的方法?
答案 0 :(得分:8)
您可以使用约束指定数据类型:
static constraints = {
body type:'text'
}
答案 1 :(得分:7)
将此添加到您的域类:
static constraints = {
body(maxSize:1000)
}
答案 2 :(得分:1)
在type
块中设置constraints
不起作用!
改为放入mapping
块。
static mapping = {
body type: 'text'
}
答案 3 :(得分:0)
VARCHAR的最大大小是在数据库中设置的,Grails在这个问题上没有任何发言权。你能做的就是告诉Grails你需要什么,它会生成使用clob而不是字符串的DDL。
将列的映射更改为使用类型:“text”,同时在约束中添加所需的maxSize。 Grails将从中发现它应该将列数据类型设置为clob。
(通常一个clob字段最多可容纳4GB,但有些数据库允许更改它。)