我的数据库结构主要由每个表的多个主键组成,因此每个连接都需要多个列。我正在尝试使用ColdFusion (具体地说是11) ORM关系属性,它有一个可链接的。我认为问题在于,多到多关系的一方有两把钥匙,另一方只有一把钥匙。以下是我尝试过但没有成功的地方:
表设置
Staff StaffSites Sites
============ ============ ===========
YearID (PK) --- YearID (PK)
StaffID (PK) --- StaffID (PK) SiteName
StaffName SiteID (PK) --- SiteID (PK)Staff
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;
}站点ORM
component persistent=true table='Sites' {
property name='id' column='SiteID' fieldType='id';
property name='name' column='SiteName';
}ColdFusion错误
collection foreign key mapping has wrong number of columns: staff.sites type: integer发布于 2015-05-01 22:35:05
如果联接表有多个外键列(该列引用目标表的复合键),则必须使用逗号分隔的列names.Also,指定列名的顺序必须与定义的复合键顺序相匹配。
US/ColdFusion/9.0/Developing/WS5FFD2854-7F18-43ea-B383-161E007CE0D1.html
应该支持复合键。
尝试切换id,因为您首先定义了staff id,并在id上指定orm类型,以防万一。另外,尝试将inverseJoinColumn与fkColumn交换,我永远不记得哪个应该是哪个,但这是我会尝试的东西。
https://stackoverflow.com/questions/29989447
复制相似问题