物理删除存在的问题:
假如A关联了B,如果物理删除了表记录B,那么A关联B的就会查询不到B的信息了。
比如之前查询A详情能查询到关联的B的数据,有一天B删除了,A再次查询详情查询不到关联的B的数据了。
思考及总结:
1.要么像hibernate那样,作为外键且被关联的有记录的,校验不让删除B。(感觉业务要判断好多表,也不知道哪个表关联了B。)
2.要么B物理删除再加一个历史表。(几乎每个表都会多出一个历史记录表)
3.要么逻辑删除。(增加一个delete_flag标识)
物理删除存在的问题:
假如A关联了B,如果物理删除了表记录B,那么A关联B的就会查询不到B的信息了。
比如之前查询A详情能查询到关联的B的数据,有一天B删除了,A再次查询详情查询不到关联的B的数据了。
思考及总结:
1.要么像hibernate那样,作为外键且被关联的有记录的,校验不让删除B。(感觉业务要判断好多表,也不知道哪个表关联了B。)
2.要么B物理删除再加一个历史表。(几乎每个表都会多出一个历史记录表)
3.要么逻辑删除。(增加一个delete_flag标识)