我有个项目表结构,每年都会变化一次,比如2017年是一个结构,2018年会变成另外一个结构,但是2017年和2018年的结构都会保存使用,因为用户需要历史查看以前的数据,我目前采用spring boot,mongodb数据库,但是在代码层的时候需要建立实体模型,如果这样的话是不是每年都要建立一个实体模型,并进行程序更新,而且程序中如何识别需要使用哪种实体模型呢,请问有没有比较好的解决方案
此问题可以做如下分析:
1.表结构的改变:表结构的改变必然会导致实体模型的改变,这是无法避免的。
2.实体模型的改变:实体模型的改变有两种方案:
1.直接改变数据库中的原表,同时更改原来的实体模型:这种方法的弊端是,每年表字段都要增加。又因为每年的数据不一样,会导致数据库中的表字段会产生很多空数据。表的可读性和维护性大大降低。
2.重新创建一个实体模型:数据库表具有很好的可读性和可维护性,同时产生的实体模型也具有可读性和可维护性。
3.程序的改变:对于程序来说也有两种实现方式:
1.所有年份用同一个接口,通过“年份”这个参数去调用每个年份的服务,也就是说每个年份要分别写一个服务去实现。
2.每个年份写一个接口
总结一下,个人建议每个年份写一个接口,避免以前写好的功能被污染。同时代码也具有更好的的可读性和的可维护性。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。