我有以下类(class):
class Catalog {
static mapping = {
id composite:['name', 'manufacturer']
columns {
name column:'cat_name'
manufacturer column:'manuf_id'
}
}
String name
Manufacturer manufacturer
}
class Order {
static mapping = {
columns {
// How to rename foreign keys as cat_name, manuf_id?
}
}
Catalog catalog // creates catalog_name, catalog_manufacturer_name
}
目前,Order 表是用属性 catalog_name 和 catalog_manufacturer_name(引用 Catalog 表的复合主键)生成的。
我需要将这些生成的列重命名为 Order 表中的 cat_name 和 manuf_id 以使用现有数据库。这可能吗?如果可能,如何实现?
最佳答案
这解决了我的问题(grails 2.0.4):
我的情况:
class GroupMessage implements Serializable {
Group group
Integer messageId
static mapping = {
datasources(['ds1'])
table 't_group_msg'
version false
id composite: ['group', 'messageId'], generator: 'assigned'
group column:'grpid'
messageId column:'msgid', type:int
}
}
class GroupMessageDetail implements Serializable {
GroupMessage groupMessage
Integer detailId
String message
String url
static mapping = {
datasources(['ds1'])
table 't_group_msg_det'
version false
id composite: ['groupMessage', 'detailId'], generator: 'assigned'
columns {
groupMessage {
column name: 'grpid'
column name: 'msgid'
}
detailId column:'id', type:int
message column:'sms'
url column:'url'
}
}
关于grails - 在 GORM 中重命名复合外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204738/