JavaEE中怎么进行大量Model的维护?


这里的Model指的是类似Post,User,Order等这种实体对象,但是由于类别大概200多个,每一个对象的属性也是比较多的,平均没类大概80多个属性,因此碰到一些问题:
例子:

医院

学校:
中学
小学
大学
。。。

1 如何建表
如上面的例子,医院建立一个表没问题,但是”小学,中学,大学“呢?他们有公有属性,但是每一类又有自己的私有属性,比如大学有“重点学科”或“专家学者”之类,这时候是建立三张表还是建一张表+外挂私有属性表的方式?

因为要考虑到后面的搜索,可能按照“学校”这个类别搜,也可能按照“大学”这个类别搜。

2 如何维护

一般情况下根据每个实体对象建个表单,后面ORM,增删改查就OK了。

但是目前数量太多了,而且目前属性之类还没有最终定下来,后续可能会改(改动不会很大),因此纯手工创建form有点不现实,但是通过程序创建的话感觉难以满足要求,因为那些属性不仅仅是简单的字符串、数字等,还有一些对象本身的特殊属性,比如医院有个类别“三甲、三乙等”,而大学又有个类别“985 211等”。同时,有个别表之间还是有关联的,比如某一个物资跟某个厂家就需要对应起来,因为后者可以生产前面这种物资。

而且通过程序的方式,界面效果不好保证,比如一个需要填写人数的Input,长度不需要很长,但是一个填写地址的Input长度就要比人数那个长的多,而一个填写简介之类的必须用Textarea表示了。(当然了,每个字段一行,最简单,但是有点难看)

所以现在有点乱。

对了,数据库大家有什么好推荐,甲方要求用Oracle(或者说Oracle必须要用到)。


实际上,我感觉这个跟电商那些不同种类的商品有点像,sf有这个帖子 http://segmentfault.com/q/1010000000264586

个人而言,用mongo也挺好,但是有两个难关:
1 系统里每个对象都有位置信息的,也就是需要用到地理空间检索,mongo对地理空间检索好像不是很好?

2 怎么跟甲方的要求吻合?

万一必须用Oracle,mongo不久悲剧了? 这是最坏的情况,要考虑下的。

java 数据库 数据库设计 model

真神炼狱杀 10 years, 4 months ago

Your Answer