Domanda

A 1 --- * * a_b --- 1 B

Tabella A ha aID (PK), Tabella B ha BID (PK), tavolo a_b ha:

Aiuti (PK, FK), BID (PK, FK), num

Ho cercato

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";

ma CF continuano a chiedermi per una colonna ID ... cosa posso fare? L'FK del dovrebbe essere del PK.

Se non c'è modo di specificare in CFC, come rappresentare questa tabella di collegamento in HBM xml?

Thx

È stato utile?

Soluzione

A quanto pare non è necessaria alcuna hbmxml! Impressionante ...

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";

Grazie alla risposta di Brian Kotek a: http: // gruppi. google.com/group/cf-orm-dev/msg/a6ccc2194fceb930

Altri suggerimenti

Si può modificare la tabella in modo che esso ha generato un unico, Auto ID? Le chiavi primarie devono essere univoci e non cambiano mai. (Parte di un tasti mappatura collegamento potrebbe cambiare tecnicamente) Inoltre è meglio avere una chiave surrogata, invece di chiavi composte in quanto è possibile identificare un unico disco da una chiave primaria, invece di colonne composte.

I utilizzare Hibernate e tutti i miei tabelle di collegamento hanno le loro proprie chiavi primarie surrogate. In caso contrario, si avrà a che fare con la composito id dichiarazione mappatura .

ho notato la fkcolumn per property = "B" dovrebbe essere "offerta".

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

L'altra cosa che ho notato dal vostro schema è credo che la tabella di collegamento ha davvero una relazione molti-a-uno, come ci sono molti elementi nella tabella di collegamento che collegano ad un elemento nella tabella A tavola e B. Provare a passare ad una "molti-a-uno" e vedere se questo aiuta.

Si può provare a utilizzare un ID composito, non poteva davvero trovare un ottimo esempio, ma qui ci sono due riferimenti;

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top