Grails Jasypt插件列maxsize总是为mysql创建varchar而不是text

时间:2013-08-28 10:06:37

标签: mysql hibernate grails jasypt

我正在尝试增加加密列的大小

static mapping = {
        col1  type: GormEncryptedStringType
}

static constraints = {
        col1(nullable:true)
}

它总是在MySQL中生成varchar(255),而我希望它作为文本类型。我尝试添加maxSize:65000,但之后会创建varchar(65000)而不是文字。

此字段可包含大量数据,理想情况下我希望它为LONGTEXT字段。

对于其他非加密字段,我成功使用了type:'text'并且它有效但我很难过,因为这是一个加密字段,我不能添加另一种类型。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

Type是Hibernate类型。除了尝试添加sqlType之外,顾名思义是基础SQL列类型。

static mapping = {
        col1  type: GormEncryptedStringType, sqlType:'TEXT'
}

此外,根据您的“sql类型”,您还可以添加length来更改列大小

static mapping = {
        col1  type: GormEncryptedStringType, sqlType:'varchar', length:400
}