Справочная информация. Я пытаюсь максимально прозрачно изменить приложение Transfer ORM на приложение Hibernate ORM.
У меня проблемы с ManyToManys с типом коллекции Struct, когда первичным ключом связанной таблицы является ключ структуры
Перевод позволит вам сделать это:
<manytomany name="Timezone" table="RegionTimezones" lazy="false">
<link column="RegionID" to="regions.Region"/>
<link column="TimezoneID" to="regions.Timezone"/>
<collection type="struct">
<key property="TimezoneID"/>
</collection>
</manytomany>
Эквивалентный тег Hibernate / CFProperty:
<cfproperty name="Timezones" fieldtype="many-to-many" linktable="RegionTimezones" cfc="Timezone" singularName="Timezone" FKColumn="TimezoneID" inversejoincolumn="RegionID" type="struct" structkeytype="string" structkeycolumn="TimezoneID" />
Однако это ошибки с
«Повторяющийся столбец в сопоставлении для коллекции: Столбец Region.Timezones: TimezoneID»
Похоже, что structkeycolumn не может быть PK другой таблицы.
Моя проблема в том, что у меня есть много существующего кода вызова, который использует способ переноса.
Кто-нибудь знает какие-либо обходные пути для этого? У меня есть стадные люди, говорящие о «один ко многим» с таблицей ссылок, но я не могу найти никаких ссылок на то, как это сделать в CF?
Спасибо,
Dave