设计原则
数据库层控制
全局约束
。主键;唯一键;外键
程序DO层控制
每行的每个字段约束
。是否为空,默认值,是否满足业务规则等
DO层设计原则
对于每个字段要严格控制,每个DO要有一个builder去校验
是否允许为空???
是否有默认值,默认值是什么???
是否是枚举类型,有哪些枚举值???
每个字段的内容需要符合哪些格式才是合法的
比如:一个字段的长度有限制
比如:必须是驼峰格式
比如:一个json字段,可能是 null, “”, “ ”, “{}”, {}, {“a”:“}, {“a”:“b”}。如此多的形式,必须要限制。要么为null, 要么就是有意义的{“a”:“b”}