带有额外列的休眠关联表

时间:2013-07-23 14:03:57

标签: java hibernate many-to-many hibernate-mapping hbmxml

我目前正在使用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>

并且与此表访问或其他表相关的员工或建筑物中没有任何内容。 问题是,我必须做一个标准来获取员工姓名,建筑物名称以及他去过多少次,但它不起作用,我不知道为什么。 有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您应该使用2个一对多关系。

但是,由于没有明显的原因,您正在对数据库进行非规范化。为什么不在需要时简单地计算访问次数?