0

我目前正在使用 hibernate 和 oracle SQL Developer,但我遇到了问题。事实上,我有 2 个表 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>

并且没有进入与此表访问或其他表相关的员工或建筑物。问题是我必须制定一个标准来获取员工姓名、建筑物名称以及他去过那里的次数,但它不起作用,我不知道为什么。有人能帮助我吗 ?

4

1 回答 1

0

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

但是,您无缘无故地对数据库进行非规范化。为什么不在需要时简单地计算访问次数?

于 2013-07-24T19:32:07.490 回答