GORM:如何设置映射中值的数据类型
在我的域对象中,我有一个地图:
Map<String, String> stuff
GORM 自动创建一个表,其中键和值是 varchar(255)。
我需要将值改为 LongText 。我该如何做这件事?
另外,是否有一种不涉及使用休眠配置的解决方法?
in my domain object i have a map:
Map<String, String> stuff
GORM automatically creates a table where the key and the value are varchar(255).
i need the value to be LongText instead. How do i do this thing?
Also, is there a workaround for this that doesnt involve using the hibernate config?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为您可以在 Domain 类的映射闭包中声明此设置。
约束字符串字段,使其 MySQL 列类型为 TEXT:
也许这可以帮助您:Grails Guide (5.5.2.1 表和列名称)
I think you can declare this setting in the mapping closure of your Domain class.
Constraint for a String field so that its MySQL column type is TEXT:
Maybe this can help you out: Grails Guide (5.5.2.1 Table and Column Names)
恐怕只能通过 Hibernate XML 配置 和 为
东西
指定一个键
映射。I'm afraid only via Hibernate XML config and specifying a
key
mapping for thestuff
.如果您想更好地控制数据库的生成/更新方式,那么最好使用数据库迁移,然后让 Hibernate 管理它。我们使用 Liquibase,它非常易于使用且灵活,并且已经有一个 Grails 插件。 。另外,如果我没有记错的话,数据库迁移将集成到 1.4 版本的 Grails 核心中,这样您就可以使用模式迁移而无需安装任何插件。
If you want to have more control of how the database is generated/updated then it is better to use a database migration then letting Hibernate manage it. We use Liquibase which is very easy to use and flexible and there is already a Grails plug in for it. Also, if I am not mistaken database migrations are going to be integrated in Grails core for version 1.4 so you will be able to use schema migrations without having to install any plug in.