GORM:如何在Map中设置值的数据类型

时间:2011-04-14 03:51:47

标签: grails map gorm

在我的域对象中,我有一张地图:

Map<String, String> stuff

GORM会自动创建一个表,其中键和值为 varchar(255)

我需要将值改为 LongText 。我该怎么做?

此外,是否有一种解决方法,不涉及使用hibernate配置?

3 个答案:

答案 0 :(得分:3)

我认为您可以在Domain类的映射闭包中声明此设置。

String字段的约束,以使其MySQL列类型为TEXT:

static mapping = {
   myTextField type: 'text'
}

也许这可以帮到你:Grails指南(5.5.2.1 Table and Column Names)

答案 1 :(得分:2)

我担心stuff只能通过Hibernate XML configspecifying a key mapping

答案 2 :(得分:0)

如果您想要更好地控制数据库的生成/更新方式,那么最好使用数据库迁移,然后让Hibernate管理它。我们使用Liquibase,它非常易于使用且灵活,并且已经有Grails plug in。此外,如果我没有弄错,数据库迁移将集成在1.4版的Grails核心中,这样您就可以使用模式迁移而无需安装任何插件。