用Java的主流框架S2SH开发ERP,数据库是SQL Server 2005,涉及到工作业务资料库的问题,各个部门由于地理位置区别,在加上之间联系网路带宽有限,所以在开发时就准备两套方案,一、业务资料都在一个资料库里,各个地方的同仁通过Web界面登录直接从这个资料库上获取资料并做自己的事情,结束后提交保存,这样通过状态基本上就可以解决。二、erp有个总的资料库,然后各个分区部门都有个本地资料库,这样比如各个分区的资料库每天早晨8点开始从总资料库获取当天要做的任务的资料到本地资料库,每天晚上在将本地资料库资料全部同步到总资料库(这时就不没提交一下就去同步,而是设置为一天或者半天,保证总资料库的资料基本上是最新的)。我之前做的时候是设置了几个相同结构的数据库表分别代表不同业务部门,都是在业务跨部门时才去修改总表,这样不好(如果一笔业务在A这个部门手上一个月甚至更长时,那其他部门查询总资料库时一直没有最新资料。),如果是方案一的话比较简单,但如果是方案二的话,那我最好的数据库表要怎么设计,具体到java时,是不是一个表生成一个pojo好xml配置文件,然后每个不同的表对应不同的DAO接口、实现类和不同的Service接口和实现类,这样感觉有是大量的重复,有什么比较科学的解决办法,这里还有数据库同步问题没有解决,各位前辈同仁们,麻烦帮想想,昨天得知我十一没假期了很是郁闷。
我Hibernate根据数据库自动生成POJO文件(一个JAVA类和一个xml文件),每次Struts2的Action中增删改查方法时传(不同)对象(只不过是名称不一样,属性都一模一样)调用Service接口,进而调用Dao接口进行相应的增删改查数据库,因为对象名不一样,所以就写了多个基本上重复的DAO接口、Service接口及实现类,感觉很累而且不科学,但又不知怎么改写。我现在有个想法,定义一个抽象类,这个类就是数据库中不存在的表,但其属性跟各个分区数据库业务表中字段对应。应用时都用这个抽象类的名字,但是写着写着好像还是不行。还有就是对基本概念抽象、接口、继承还是有点模糊,所以就不知道怎么写,在加上时间有限,现在就很着急。