ColdFusion:ORM与LinkTable和多个外键的关系

ColdFusion:ORM与LinkTable和多个外键的关系,orm,coldfusion,relationship,coldfusion-11,Orm,Coldfusion,Relationship,Coldfusion 11,我的数据库结构主要由每个表的多个主键组成,因此每个联接需要多个列。我正在尝试使用ColdFusion(具体来说是11)的Form关系属性,它有一个linktable。我认为问题在于多对多关系的一方有两个关键点,另一方只有一个关键点。以下是我尝试过但没有成功的方法: 表格设置 Staff StaffSites Sites ============ ============ =========== YearID (PK) --- YearID (P

我的数据库结构主要由每个表的多个主键组成,因此每个联接需要多个列。我正在尝试使用ColdFusion(具体来说是11)的Form关系属性,它有一个linktable。我认为问题在于多对多关系的一方有两个关键点,另一方只有一个关键点。以下是我尝试过但没有成功的方法:

表格设置

Staff            StaffSites       Sites
============     ============     ===========
YearID (PK)  --- YearID (PK)
StaffID (PK) --- StaffID (PK)     SiteName
StaffName        SiteID (PK)  --- SiteID (PK)
员工ORM CFC

component persistent=true table='Staff' {
    property name='id'   column='StaffID' fieldType='id';
    property name='year' column='YearID'  fieldType='id';
    property name='name' column='StaffName';

    property name='sites'
        cfc='site'
        linkTable='StaffSites'
        fkColumn='YearID,StaffID'
        inverseJoinColumn='SiteID'
        mappedBy='id'
        fieldType='many-to-many'
        lazy=true;
}
component persistent=true table='Sites' {
    property name='id'   column='SiteID' fieldType='id';
    property name='name' column='SiteName';
}
站点ORM CFC

component persistent=true table='Staff' {
    property name='id'   column='StaffID' fieldType='id';
    property name='year' column='YearID'  fieldType='id';
    property name='name' column='StaffName';

    property name='sites'
        cfc='site'
        linkTable='StaffSites'
        fkColumn='YearID,StaffID'
        inverseJoinColumn='SiteID'
        mappedBy='id'
        fieldType='many-to-many'
        lazy=true;
}
component persistent=true table='Sites' {
    property name='id'   column='SiteID' fieldType='id';
    property name='name' column='SiteName';
}
冷融合错误

collection foreign key mapping has wrong number of columns: staff.sites type: integer
如果联接表有多个外键列(引用 目标表的复合键),则必须使用逗号分隔 列名。此外,列名的指定顺序 必须与定义的组合键的顺序匹配

应支持复合密钥

尝试切换id,因为您首先定义了员工id,并在id上指定orm类型以防万一。另外,尝试将
inverseJoinColumn
fkColumn
交换,我不记得哪个应该是哪个,但我会尝试