一般来说我们对表的操作是没有删除的,而是用状态字段取代
t_employee
id LONG,
name VARCHAR(20),
status SMALL INT
当status为1的时候为不可用。
我之前一直有一个疑问当状态字段置为不可用时,与该行数据关联的数据怎么办,所以一直认为如果要置为不可用就必须先校验是否有关联数据。
这样就会很麻烦,因为每次都需要在service层进行校验,还要给用户返回异常信息,是一件很繁琐的事情。
最近问了几个老师才明白,以前我想多了,实际的场景应该是这样的
当字段置为不可用时,对前面关联的数据不影响,而对该操作之后的关联有影响
例子: 5年前的中国移动的老客户还能继续用5年前的套餐,现在的新用户已经不能用那个时候的套餐了