公司新项目,一个大型平台.公司打算做成通用的,也就是业务是一样的,只是使用的客户不一样.现在关键的难点就是解决动态问题.比如说法院和检查院都使用这套系统,但是他们两者之间的表字段个数是不一样的.现在我们决定是法院一个数据库,检查院一个数据库.业务是一样的.表的字段数不一样,就实体类属性个数不一样.从而前台显示的数据也就不一样.我怎么样才能做到动态的呢?今天讨论打算用freeer模板技术来动态创建JAVA,HTML,JS.是否还有更好的办法,可以不用这种技术,或者不用一个单位一个数据库来做呢?大家提供点经验吧.不懂业务,我可以再说清点,谢谢各位
解决方案 »
- 求SCBCD(310-091)学习资料
- hibernate配置c3po连接池后:无法使用jdbc查询?报错Operation not allowed after ResultSet closed
- 高分寻求一个Struts+Oracle的问题的答案,遇到一个很奇怪的异常,高手进来看看!
- 如何由Hibernate向Struts2.0传递多表查询所得的List?
- Spring Jar包在哪儿下载啊,,官网变更好找了好久,,都只有源码
- 一个关于xerces的问题,快帮忙啊!
- 请问那里可以下载JBuilder 8?
- 用jbuilder开发ejb还要装什么其他的东西呢?
- java单子模式
- 关于active控件与浏览器兼容问题(只有IE可以正常安装)
- jade问题
- new Qname()的用处与作用是什么?
用a表的存需要表的名字,用b表存需要表的各个字段的名字和各种约束(如非空约束)。这样通过ab关联可以得到需要表的具体信息,这样就把先前的物理表抽象成逻辑表了,可以通过你的app随时修改;换句话说这样作的目的是使随时变化的字段的修改变成业务的一部分。当然,这样做尽管你的db信息和你的app的加深了耦合性,但这是出于你的需求。至于db里的纪录,需要一个逻辑表就加一个,不过字段需要抽象出来。你可以参考一下数据仓库思想关于你ui变化的问题:
也可以通过将画面上东西存到db里后,在不同的情况下按照不同的需要取出就可以了。可以参考刚才提到的关于db的思想以上的缺点是:db设计相当复杂,但有了现在的orm技术,我想对于coding来说这是个不是问题的问题。还有就是你的业务和db的耦合性太强,对于日后的移植造成了困难,但这也是没有办法的。如有问题请加qq:387752961,大家共同讨论
关于数据库设计,我们也是把一些公用的表和字段那出来作为母表,然后在分别给不同的用户设计不同的表作为子表(其实是单独的表,不过在pojo层是继承关系)
在用的时候就用
我也遇到过,通常自己定义了数据字典来解决
table_list 记录着系统需要的哪个表
table_info 记录着表的字段和关系然后自己写个应用来维护这个两个表,基本上就针对这表做程序处理
可以帮你实现通用的需求,当然系统大了就比较复杂了