2015-05-01 4 views
0

Моя структура базы данных в основном состоит из нескольких первичных ключей в таблице, поэтому для каждого соединения требуется несколько столбцов. Я пытаюсь использовать свойство отношения ColdFusion (11 к определенному) ORM, которое имеет ссылку. Я думаю, что проблема связана с двумя ключами на одной стороне отношений «многие ко многим» и только с одной - с другой. Вот что я пытался без успеха:ColdFusion: отношения ORM с 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; 
} 

сайта ORM CFC

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 

ответ

0

Если присоединиться таблица имеет несколько внешних ключей столбцов (что ссылка составного ключа целевой таблицы), то вы должны использовать разделенный запятыми столбец names.Also, порядок, в котором указаны имена столбцов должен соответствовать порядку составных ключей.

http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WS5FFD2854-7F18-43ea-B383-161E007CE0D1.html

Составной ключ должен быть поддержан.

Попробуйте переключить идентификатор с тех пор, как вы определяете идентификатор штата, а также укажите тип орма на id на всякий случай. Кроме того, попробуйте поменять inverseJoinColumn на fkColumn, я никогда не помню, какой должен быть, но что бы я попробовал.

 Смежные вопросы

  • Нет связанных вопросов^_^