hibernate和ibatis都是底层技术实现多虚拟机方式,分布式没什么联系,可以用ejb
对于视图不确定问题,hibernate不好处理,别说hibernate,jdbc和ibatis也不好处理,修改代码
hibernate复杂庞大,不熟悉的人慎用
ibatis简单灵活--也可以把表或者视图转化成对象,而且容易上手基本一两天就可以用了,sql代码还是要写,只不过是写到了ibatis的xml文件里,对于sql进行了统一的管理交互方面可以用webservice,采用rpc方式来传递对象

解决方案 »

  1.   

    看来XML配置文件是个不好处理的问题.
    EJB,有所了解,但好像也要配置XML文件吧?
    RPC,RMI吗?
    系统要求绝对的正确完整性.
    如果数据库记录修改插入更新非常频繁,一次传递的修改数据
    可能在万的数据级上,那么这个过程将非常漫长,
    而且要保证系统容错性,比如传输过程中突然断电等问题,
    系统重启后要保证数据完整一致性.所以最初考虑要保存文件的形式,以恢复系统之用.虽然分布式,但可否把hibernate或Ibatis用在C/S的某一端?
      

  2.   

    我们先考虑2个问题
    1 新建了新的实体化视图
      这个东西可不是随便可以建的,应该是一个团队研究的结果,有需要的时候才建立
      一般情况下,数据仓库和挖掘才有这个问题,数据从多个远程数据库读取数据,然后放到本地的数据库并定时更新2 数据的更新问题
      我不赞成数据打包发送,应该是远程的机器主动获取,方式可以是
      1) 直接的数据库连接,这个在数据仓库最常见了
      2) 其他的封装,比如ws等
    我的意见:
      你应该在你的目标机器部署一个应用,让其远程连接你的原始数据库(至于怎么连接,你自己考虑,直连或者通过服务都可以)进行数据的更新。如果需要新的视图,也应该是目标机器自己做,至于原始数据库怎么配合,倒无所谓了,可以提供一个本地视图来供目标数据库使用,也可以根本不管,让目标数据库自己进行组合查询就行了。总之,谁要数据,谁自己干活。 你可以看看数据仓库的概念。 当然更新的速度不可能是实时的。有些数据库提供远程视图,比如Oracle 的 dblink 等,可以参考。这些都是方便数据获取的。
      

  3.   


    赵老师,你看问题非常厉害,我们现在就是准备做一个类似数据仓库的C/S
    模式的系统.一端负责从原始数据库提取出改变数据,并提交给另一端.
    另一端就是利用这些提交过来的数据维护实体化视图,以保持两端数据库
    的数据同步.你说的在本地建立一组视图(这些视图当然是在原始数据库上
    建立的),实体化视图再在这些本地视图上建立的思想和我们的想法不谋而合!
    至于你说的应该由目标端自己去取,我们也考虑过,这个就是维护策略的问题.
    可以采用"推"或"拉"的策略,你说的就是"拉"的策略,这里我们的设计目标是
    用户可以自定义是哪个策略.原始数据库端的数据库不可控.客户只提供部分数据库结构信息,因为安全等问题
    不可能把全部的数据库结构全部展露给我们.因此我觉得这一端用上不Hibernate或
    Ibatis.现在我就是想在我这一端,目标端,在实体化视图的维护时稍微用一下Hibernate
    以减化操作,看性能有没有一点提升,因为数据量可能达到几十万,哪怕一点提升,
    累加起来也是可观的.我现在主要是想在目标端(我将负责这一端的工作)上利用Hibernate或是Ibatis
    简化这些维护操作,(顺便问一下,我这端没有数据库查询操作,而Hibernate一个
    很大的优势是查询时的缓存策略吧?这一点不是就利用不上了?这样用Hibernate
    会不会大材小用?)我前面提到如果传输过来的是和实体化视图表中对应一致的对象,(老大们已决定用
    文件的形式传数据,已定死.)插入时直接一条Hibernate语句就可以完成操作.而且不
    用解析对象,得到属性名和值,再编造SQL语句,最后再插入之类的操作.我想这中间
    可以省去不小的开销.赵老师,从你上面的回答可以看出,你看问题时很注重全局宏观的考虑,但是
    我一个小程序员是不可能干预撼动上面老大们的设计的,呵呵~~) 所以请你主要帮我看下
    在实体化视图的维护时用Hibernate或Ibatis是否可行,另外如果可行,那些实体化
    视图的映射配置文件怎么搞?因为实体化视图可以随时生成,不可预知结构.可否
    编程自动生成?(如果实体化视力之间没有关联,全部自成独立,这样会不会容易点?)
    先行谢谢了!
      

  4.   

    对了,还有那个实体化视图对应的POJO类怎么生成也是个问题!
    因为也是动态不确定的.
      

  5.   

    hibernate和ibatis都是底层技术实现多虚拟机方式,分布式没什么联系,可以用ejb 
    对于视图不确定问题,hibernate不好处理,别说hibernate,jdbc和ibatis也不好处理,修改代码 
    hibernate复杂庞大,不熟悉的人慎用 
    ibatis简单灵活--也可以把表或者视图转化成对象,而且容易上手基本一两天就可以用了,sql代码还是要写,只不过是写到了ibatis的xml文件里,对于sql进行了统一的管理 交互方面可以用webservice,采用rpc方式来传递对象
      

  6.   

    ibatis适合你的项目,自己在xml文件中随意写sql可以很好的达到你的要求,相对habernate要灵活许多,个人意见