我目前正在使用hibernate和oracle SQL Developer,我遇到了问题。 实际上,我有两个表Employee和Building,它们之间有多对多的关联。 所以我还在SQL Developer中创建了一个名为Access的关联表,其中包含来自Employee和Building的外键(这是Access表的主键)和一个名为Times的额外列(表示员工进入此建筑物的次数) )。 但我在访问access.hbm.xml时遇到问题,因为我不知道如何操作它,因为它包含一个额外的列,以及要放入employee.hbm.xml和building.hbm.xml的内容。
目前,我在access.hbm.xml中所拥有的是一个复合ID
<composite-id>
<key-many-to-one name="ID_EMP"
class="client.dataobj.hibernate.TestEmployee">
<column name="ID_EMP_ACCESS" />
</key-many-to-one>
<key-many-to-one name="ID_BUIL"
class="client.dataobj.hibernate.TestBuilding">
<column name="ID_BUIL_ACCESS" />
</key-many-to-one>
</composite-id>
并且与此表访问或其他表相关的员工或建筑物中没有任何内容。 问题是,我必须做一个标准来获取员工姓名,建筑物名称以及他去过多少次,但它不起作用,我不知道为什么。 有人能帮帮我吗?
答案 0 :(得分:0)
在这种情况下,您应该使用2个一对多关系。
但是,由于没有明显的原因,您正在对数据库进行非规范化。为什么不在需要时简单地计算访问次数?