在我的域对象中,我有一张地图:
Map<String, String> stuff
GORM会自动创建一个表,其中键和值为 varchar(255)。
我需要将值改为 LongText 。我该怎么做?
此外,是否有一种解决方法,不涉及使用hibernate配置?
答案 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 config和specifying a key
mapping。
答案 2 :(得分:0)
如果您想要更好地控制数据库的生成/更新方式,那么最好使用数据库迁移,然后让Hibernate管理它。我们使用Liquibase,它非常易于使用且灵活,并且已经有Grails plug in。此外,如果我没有弄错,数据库迁移将集成在1.4版的Grails核心中,这样您就可以使用模式迁移而无需安装任何插件。