字典和枚举选择

数据字典存储于数据库中,好处是可以随时在后台管理系统中添加,前端也能通过一个字典接口查询不同的数据字典,缺点是写代码的时候不如枚举安全,因为该字典存在于数据库中,并没有通过编译器校验。

举个例子,审批流程的状态有“审核中-0”、“审核通过-1”、“审核不通过-2”,那么在审批通过接口中,只能这么写

1
2
3
4
5
6
public void checkPass(long id) {
Order order = findById(id);
if (order.getStatus() != 0) {
throw new ServiceException("非审核中");
}
}

建议是,对于需要动态添加,且程序不需要对该字典进行判断的字典可以配置在数据库中。