有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要帮助设计员工和经理的关系

我目前正在从事一个有员工、经理和实体的项目。一开始,我想当然地认为经理必须是公司的员工,所以他们是同一个人,在工资系统中拥有相同的员工ID。基于这个假设,我让Manager类扩展Employee类

后来,我的客户告诉我,有时一些经理不是公司的员工,但他们仍然有员工向他们报告,这些经理也应该在系统中。employee和manager之间的继承关系被破坏了,现在我在数据库中有两个独立的类和两个表(TAB_employee和TAB_manager)

经理和员工都可以使用用户名和密码访问系统。有一个名为User的类,系统应提供为经理和员工创建用户帐户的功能。在前面的情况中,manager扩展了employee,我可以为经理创建一个用户帐户,并为用户分配两个角色(ROLE\u employee、ROLE\u manager)。但现在,如果已经为员工创建了用户帐户(该员工也是经理,因此除了TAB_employee中的记录外,TAB_manager中还有一条记录),我如何为他创建一个作为经理的用户帐户?我知道我可以为现有用户分配一个角色\管理者(这样用户就有两个角色:角色\员工、角色\管理者),但是在用户登录后,我必须使用用户名或用户ID来加载引用的对象(员工和/或管理者)。为此,我必须选择以下选项:

选项1:在TAB_EMPLOYEE和TAB_MANAGER表中添加userid列。 选项2:添加两列ObjectType,在TAB_USER中添加ObjectId,ObjectType包含员工或经理,ObjectId包含相关id

我不确定哪种选择更好,或者是否有其他选择可以做到这一点


共 (1) 个答案

  1. # 1 楼答案

    我会合并表格,这样就有了一个简单的员工表格。然后我将添加一元关系(指针返回到自身)来标识管理器。最后,我将添加一个标志来标识内部员工(员工)