A 1 --- * A_B * --- 1 B
表A有aID(PK),表B有bID(PK), 表A_B有:
aID(PK,FK), bID(PK,FK), 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栏......我该怎么办? FK应该是PK的。
如果无法在CFC中指定它,如何在hbm xml中表示此链接表?
THX
答案 0 :(得分:3)
显然不需要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";
感谢Brian Kotek在http://groups.google.com/group/cf-orm-dev/msg/a6ccc2194fceb930
的回答答案 1 :(得分:1)
您可以更改表格,使其具有唯一的自动生成ID吗?主键应该是唯一的,永远不会改变。 (链接映射键的一部分在技术上可能会发生变化)此外,最好使用代理键而不是复合键,因为您可以通过主键而不是复合列来唯一标识记录。
我使用Hibernate,所有链接表都有自己的代理主键。否则你将不得不处理composite id mapping declaration。
答案 2 :(得分:0)
我注意到property =“Bs”的fkcolumn应为“bID”。
property name="Bs" fieldtype="one-to-many" cfc="B" fkcolumn="bID";
我从模式中注意到的另一件事是我相信链接表确实有多对一,因为链接表中有许多项链接到A表和B表中的一个项目。尝试切换到“多对一”,看看是否有帮助。
答案 3 :(得分:0)