如何映射外键不是另一个表的PK的GORM关联?
我有以下架构:
CREATE TABLE `supplier` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`partner_id` int(11) NOT NULL,
`supplier_id` int(11) NOT NULL
PRIMARY KEY (`id`)
)
CREATE TABLE `ad` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`partner_id` int(11) NOT NULL,
`supplier_id` int(11) NOT NULL,
`ad_id` varchar(30) NOT NULL,
`ad_details` text NOT NULL
PRIMARY KEY (`id`)
)
FK关系介于ad.supplier_id
和supplier.supplier_id
之间(不 supplier.id
)。
由于supplier.supplier_id
不是supplier
表的PK,因此supplier.supplier_id
可能会重复。
实际上,supplier
表的关键是元组(supplier.supplier_id
,supplier.partner_id
)。如何对此约束进行建模?
答案 0 :(得分:1)
This similar question似乎表明你应该能够添加(使用advanced Gorm Mapping):
class Ad {
Partner partner
Supplier supplier
String details
static mapping = {
supplier column:'supplier_id'
details type:"text"
}
}
虽然我没有测试过这个......