我有 user.hbm.xml 的用户表和 department.hbm.xml 的部门表。映射表是带有 user_id 和 department_id 列的 userdepartment。映射通过外键定义自动填充。我想在这个映射表中有额外的列来跟踪、谁更改了映射、评论等。我怎样才能更新这些额外的列?我需要 userdepartment.hbm.xml 和映射类吗?有没有办法将这些附加列映射到主类?请建议。
问问题
97 次
1 回答
0
如果连接表除了两个外键之外还有其他列,那么它不再是连接表,而是本身的实体。
因此,您应该有一个额外的 Participation 实体,其中包含有关用户参与部门的信息,并且在 User 和 Participation 之间有一个 OneToMany,在 Department 和 Participation 之间有一个 OneToMany。
像对待所有其他实体一样对待参与实体:它应该有一个自动生成的单列 ID 和两个连接列。要确保同一用户不会两次参与同一部门,请在 上添加唯一约束[userId, departmentId]
。
于 2013-06-05T21:20:47.897 回答