Как отобразить эту таблицу ссылок в cf-orm? - PullRequest
1 голос
/ 24 декабря 2009

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

Таблица A имеет идентификатор (PK), Таблица B имеет идентификатор (PK), таблица A_B имеет:

ПОМОЩЬ (ПК, ФК), BID (ПК, ФК), Num

Я пытался

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?

Thx

Ответы [ 4 ]

3 голосов
/ 29 декабря 2009

Очевидно, что 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

1 голос
/ 29 декабря 2009

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

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

0 голосов
/ 28 декабря 2009

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

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

0 голосов
/ 26 декабря 2009

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

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

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

...