我正在用Java开发一个基本的员工维护系统。我需要为员工添加请假功能吗?我很困惑哪种方法能更好地实现
1。为所有员工创建一个单独的通用列表
2。在我的员工实体中创建一个列表,这样单个列表将与单个员工关联
3。还有其他意见吗?
我会选择第二个选项,在Employee
实体中创建一个List<Request>
,因为我认为如果没有请求Employee
,Request
就不可能存在。
此外,我会使用Request
字段,而不是RequestLeave
,因为这可能太具体了,并且您希望能够将其他类型的Request
设置为DISEASE
或MOTHERHOOD
。
在此之后,您将拥有Employee
实体
public class Employee {
// all fields for Employee
final List<Request> requests;
}
Request
实体
public class Request {
private Long id;
private DateTime timestamp;
private Reason reason;
}
以及Request
的原因列表
public Enum Reason {
LEAVE,
SICKNESS,
MOTHERHOOD;
}
与第一个选项相比,这样做的一个优点是,如果您想将数据持久化到数据库中,则可以简单地设置Employee
和Request
之间的关系。