NEWVFP
2013-03-11 11:21 阅读 678
已采纳

ORM框架选择问题

我司有一套C/S系统,现在想用java开发一套web系统出来(后台数据库用原来的),现在对ORM框架选择上有点头痛,情况如下:
由于后能数据库不变用原来的,问题是由于后能经过了多个人架构,主键风格各异,
1。每个表有一个id自增量作为主键,但在一对多的主子表关系中,子表的关联字段有的是用主表的id,有的是用一个人工自定义主键,如销售单明细表中的关联字段是销售单主表的销售单号,有些规范的用的是销售单主表的id,
2。再比方我有员工档案表用到了部门信息表,在后台设计时可能设计成nDeptId(部门信息表的id自增列),有可能设计成vDeptNo(部门信息表人工定义的部门编号).

现在我们C/S模式开发,偏向于写sql语句及后台存储过程,关联出结果集在前台加工好后save到后台,很方便,虽然没有面向对象的思想,类似于.Net中的SqlAdapter,DataSet,取回数据加工然后insert,updata,delete,
请问应该选用哪种ORM框架呢? Hibernate还是myBatis,还是有其更好的框架?

另:我们的后台某些表(如条码表)数据量会很大。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    greatpwx1988 greatpwx1988 2013-03-11 11:37

    我对hibernate不是很熟了 但通过你的描述我感觉Mybatis完全可以实现你的业务 而且对象关系一目了然 方便配置

    点赞 评论 复制链接分享
  • asgab asgab 2013-03-11 14:05

    如果大部分的开发人员对hibernate很熟练,建议使用hibernate。否则请使用Mybatis。言外之意:新手慎用hibernate

    点赞 评论 复制链接分享
  • ansjsun ansj 2013-03-11 15:56

    nutz 可以试试..很轻

    点赞 评论 复制链接分享
  • zuoshang zuoshang 2013-03-11 22:05

    楼主这种情况,要用现有框架去凑以往的非面向对象的设计,容易把问题搞复杂

    最佳的还是弄一个适配层,向下去调用底层以前那一套sql以及相关方法,向上受web层面的调用。抛掉现有框架的束缚。

    除非你web上展示的信息和原来CS的GUI上差别特别大,我默认原来系统中sql所获取的信息就是如今web上需要的信息。在适配层要做的就是将以前非对象的零散的数据封装成对象返回给web,或者从web上传下的对象解开后传入底层sql相关的方法。

    不要觉得似乎多写了一些封装和解开的代码会影响性能,这些事框架里也是会做的,甚至框架用到反射性能反倒会稍差。

    点赞 评论 复制链接分享
  • zheng20090514 contychen 2013-03-13 08:16

    Hibernate 、Mybatis 都可以,个人倾向Mybatis

    点赞 评论 复制链接分享
  • fatherican 飞猪it 2013-03-13 23:39

    我觉得mybatis合适

    点赞 评论 复制链接分享