增加grails中VARCHAR的限制

时间:2014-10-06 16:18:35

标签: string grails

在grails中,我在模型中声明了一个变量。 String dnaSequence

我正在尝试将一个巨大的长string保存到其中,并且我收到以下错误消息,说它太大了。

如何将限额提高到900,000或更高?

我怎样才能实现这个目标?

注意:给出的解决方案应该是我可以通过Grails实现的。

我的域类

class Animal {


    String dnaSequence

    static constraints = {

    }
}

3 个答案:

答案 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