在grails中,我在模型中声明了一个变量。 String dnaSequence
我正在尝试将一个巨大的长string
保存到其中,并且我收到以下错误消息,说它太大了。
如何将限额提高到900,000
或更高?
我怎样才能实现这个目标?
注意:给出的解决方案应该是我可以通过Grails
实现的。
我的域类
class Animal {
String dnaSequence
static constraints = {
}
}
答案 0 :(得分:3)
VARCHAR的最大大小是在数据库中设置的,Grails在这个问题上没有任何发言权。你能做的就是告诉Grails你需要什么,它会生成使用clob而不是字符串的DDL。
将列的映射更改为使用type: "text"
,同时在约束中添加所需的maxSize。 Grails将从中发现它应该将列数据类型设置为clob。
(通常一个clob字段最多可容纳4GB,但有些数据库允许更改它。)
答案 1 :(得分:1)
您可能对GORM中的type mapping感兴趣。具体来说,您可以添加此项以更改dnaSequence
字段的类型:
static mapping = {
dnaSequence type: "text"
}
答案 2 :(得分:0)
您可以在域类中使用数据库映射
class Book {
String name
Status status
static mapping = {
delegate.name column: "name", sqlType: "text", length: 2000
}
}
有关更多详细信息 https://docs.grails.org/latest/ref/Database%20Mapping/column.html