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

标签 mysql hibernate grails jasypt

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

static mapping = {
        col1  type: GormEncryptedStringType
}

static constraints = {
        col1(nullable:true)
}

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

这个字段可以包含很多数据,理想情况下我希望它是 LONGTEXT 字段。

对于其他非加密字段,我成功地使用了 type:'text' 并且它起作用了,但我很困惑,因为这是一个加密字段,我无法添加其他类型。

非常感谢任何帮助。

最佳答案

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

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

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

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

关于mysql - Grails Jasypt 插件 Column maxsize 总是为 mysql 创建 varchar 而不是 text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18484931/

相关文章:

unit-testing - 跳过 Grails 中的测试

Grails:从 src/groovy 类访问域类的最佳方法是什么?

mysql - 自定义查询计数和分组

javascript - DataTables 和 columnDefs 渲染数据

java - 在 spring 应用程序中注入(inject) 2(不久的将来 3)个不同的 entityManagerFactory(或 entityManager)

mysql - Hibernate 使用 ManyToOne 注释保存新条目

mysql - 处理/压缩多个表中的大型数据集

php - 想要将 strtotime 值与当前时间进行比较并输出 : something x min ago

java - hibernate 。什么时候同一实体可以在一个 session 中加载两次?

grails - 如何在Grails上公开目录?