Database Grails GORM映射FK,该FK不是另一个表的主键
如果外键不是另一个表的PK,如何映射GORM关联 我有以下模式:Database Grails GORM映射FK,该FK不是另一个表的主键,database,grails,groovy,relational-database,gorm,Database,Grails,Groovy,Relational Database,Gorm,如果外键不是另一个表的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,
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\u id
和supplier.supplier\u id
之间(不是supplier.id
)
编辑:下面@tim_yates的答案似乎部分有效 由于
supplier.supplier\u id
不是supplier
表的主键,因此可以复制supplier.supplier\u id
实际上,supplier
表的键是元组(supplier.supplier\u id
,supplier.partner\u id
)。如何对此约束建模?似乎表明您应该能够添加(使用):
虽然我没有测试过这个…似乎表明您应该能够添加(使用):
虽然我没有测试过这个
class Ad {
Partner partner
Supplier supplier
String details
static mapping = {
supplier column:'supplier_id'
details type:"text"
}
}