我上了3节课。 Class 1 + 2只是带有id的空类。
第3类有2个属性:
private long id; <---- DO I NEED THIS???
private Class1 abc;
private Class2 cde;
这些都是多对一的,应该一起定义这个类的关键,例如 没有2个class3实例,其中abc = abc和cde = cde。 我试过这样的话:
<composite-id name="id" class="class3">
<key-property name="abc" column="ID_CLASS1"/>
<key-property name="cde" column="ID_CLASS2" />
</composite-id>
这并不反映多对一关系,也不会编译!
有人可以发布一个适用于我的特殊情况的映射吗? 我阅读了所有文档,但不能只是弄明白! 非常感谢。
答案 0 :(得分:1)
所以,你有两个tablew A和B,以及A和B之间的连接表。因此你可能在A和B之间有一个ManyToMany关联。因此你不应该在这个表中有一个ID,你不应该映射它作为一个实体。
使用ManyToMany关联,如the reference manual中所述。