gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:34 24 4
gpt4 key购买 nike

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

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

经理和员工都可以使用用户名和密码访问系统。有一个名为 User 的类,系统应该提供为经理和员工创建用户帐户的功能。在前面的情况下,经理扩展了员工,我可以为经理创建一个用户帐户,并为该用户分配两个角色(ROLE_EMPLOYEE、ROLE_MANAGER)。但是现在,如果已经为某个员工创建了一个用户帐户(该员工也是一个经理,所以除了TAB_EMPLOYEE中的一条记录外,TAB_MANAGER中还有一条记录),我该如何为他创建一个作为经理的用户帐户呢?我知道我可以将 ROLE_MANAGER 分配给现有用户(以便该用户具有两个角色:ROLE_EMPLOYEE、ROLE_MANAGER),但是在用户登录后,我必须使用用户名或用户 ID 来加载引用的对象(员工和/或经理)。为了做到这一点,我必须选择:

选项 1:在 TAB_EMPLOYEE 和 TAB_MANAGER 表中添加 userid 列。方案2:在TAB_USER中添加ObjectType、ObjectId两列,ObjectType包含EMPLOYEE或MANAGER,ObjectId包含相关id。

我不确定哪个选项更好,或者还有其他选项可以做到这一点吗?

最佳答案

我会将这些表合并起来,这样就只有一个员工表。然后我会添加一个一元关系(指向自身的指针)来识别经理。最后我会添加一个标志来识别内部员工(员工)。

关于java - 需要帮助设计员工和经理关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com