Как отобразить эту таблицу ссылок в cf-orm?

A 1---* A_B *---1 B

Таблица A имеет aID (PK), таблица B имеет bID (PK), таблица A_B имеет:

AID (ПК, ФК), BID (ПК, ФК), число

Я старался

property name="A" fieldtype="many-to-one" cfc="A" fkcolumn="aID";
property name="B" fieldtype="many-to-one" cfc="B" fkcolumn="bID";
property name="num" type="numeric";

но CF продолжает спрашивать меня для столбца ID... что я могу сделать? ФК должны быть ПК.

Если нет способа указать это в CFC, как представить эту таблицу ссылок в hbm xml?

Спасибо

4 ответа

Решение

Видимо, нет необходимости в hbmxml! Потрясающие...

property name="A" fieldtype="id,many-to-one" cfc="A" fkcolumn="aID";
property name="B" fieldtype="id,many-to-one" cfc="B" fkcolumn="bID";
property name="num" type="numeric";

Благодаря ответу Брайана Котека по адресу: http://groups.google.com/group/cf-orm-dev/msg/a6ccc2194fceb930

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

Я использую Hibernate, и все мои таблицы ссылок имеют свои собственные суррогатные первичные ключи. В противном случае вам придется иметь дело с объявлением составного отображения идентификатора.

Я заметил, что fkcolumn для property="Bs" должно быть "bID".

property name="Bs" fieldtype="one-to-many" cfc="B" fkcolumn="bID";

Другая вещь, которую я заметил в вашей схеме, - я считаю, что таблица ссылок действительно имеет много-к-одному, так как в таблице ссылок есть много элементов, которые ссылаются на один элемент в таблице A и таблице B. Попробуйте переключиться на "многие-к-одному" и посмотрите, поможет ли это.

Вы можете попробовать использовать составной идентификатор, но не можете найти очень хороший пример, но вот две ссылки;

http://www.theserverside.com/discussions/thread.tss?thread_id=47723
http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html

Другие вопросы по тегам