【发布时间】:2016-02-11 23:25:10
【问题描述】:
我的域模型中有 4 个实体,即教授学院系和角色。 用例是
- 教授只能在一所大学工作,这使得一对多 关系(大学 -> 教授)
- 教授将在大学阶段担任多个角色(管理员、食品检查员??)
- 教授可以为多个部门工作(多对多)
-
在每个系教授可能有不同的角色
class Professor { @ManyToOne private College workingWithCollege; @JoinTable(name = "professor_college_role", joinColumns = @JoinColumn(name = "professor_id"), inverseJoinColumns = @JoinColumn(name = "role_id")) @OneToMany private Collection<Role> roles; } class College { } class Department { } class DepartMentRole { @ManyToOne private Department department; @ManyToOne private Role role; //TODO: Dont know how exactly to solve this } class ProfessorDepartmentRole { @OneToOne private Professor professor; @OneToMany private Collection DepartmentRole; }
我们真的需要部门角色吗?如何将教授与部门以及该部门的角色联系起来
【问题讨论】:
-
大学级别的角色集与部门角色集是否不同?
-
不一样,但在现实世界中为该角色提供的服务是不同的
-
那你能不能只创建DepartmentRole类,教授和DepartmentRole之间还有一个多对多的关系?
-
你认为上面提供的代码足够好还是你会用不同的方式来做??
-
其他人可能会给出不同的建议,但我必须对其进行测试,而且我现在没有资源去做。试试看,如果您对结果有更多疑问,可以随时返回此帖子。
标签: hibernate jpa many-to-many hibernate-mapping