比如:people实体有性别(男女)、国际(汉族、回族、满族、藏族...)、学历(小学、中学、高中、本科...)等等属性,这些属性都有相似处,前台展现时都以下拉框实现,如何将这些数据作为数据字典设计,而不是写死的呢?
如果用数据字典directionary表存取这些值 那么需要和实体类即people表关联吗?也就说people表的sex存取的是directionary表的Id吗?
比如:people实体有性别(男女)、国际(汉族、回族、满族、藏族...)、学历(小学、中学、高中、本科...)等等属性,这些属性都有相似处,前台展现时都以下拉框实现,如何将这些数据作为数据字典设计,而不是写死的呢?
如果用数据字典directionary表存取这些值 那么需要和实体类即people表关联吗?也就说people表的sex存取的是directionary表的Id吗?
真正的项目字典不只是用来存储那些常量,而是为整个系统提供全方面的字典服务,易用好查性能高是一个准则。而且字典肯定需要缓存的,你试想,当你在表单中生成了下拉列表,存入数据库,都是存的字典的数据,那你读取的时候,肯定得判断显示的数据,这个时候你不用缓存,性能极度浪费(这可不是一般的浪费)。实现下拉列表和一些常用的radio是字典功能必须衍生出来的重要功能,不然够你麻烦的。至于缓存策略,我现在是这样的:字典肯定有维护功能,假如最初存在内存里面,假如你后期要维护,岂不是得重新启动。所以我在在添加和修改的时候,会有一个标志,凭借这个标志重新读取数据库。没有更新的时候就一直在内存,有更新的时候,就重新读取。
还有,一个表确实是够用,但是麻烦程度不是你可以想象的。