Database Grails GORM映射FK,该FK不是另一个表的主键

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,

如果外键不是另一个表的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\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"
    }
  }