我认为没有必要做一层,这样做将性能减少很多。特别是数据库的性能少了很多。请高手发言!

解决方案 »

  1.   

    可以看看sourceforge.net上的nhibernate,也可以看看java的hibernate
      

  2.   

    TO: thinkingforever(努力学习)
      O/R层通常会牺牲掉许多的数据库性能优势。
      

  3.   

    对于小规模的系统来说,数据库性能的优势并不明显。然而O/R使得我们无需操心数据存储的问题,可以减少相当程度的工作量(开发、调试和维护)。我觉得是值得的。使用持久层我有两个困惑:
    第一,统计报表的问题。由于不直接和数据库打交道,所以产生针对持久层的查询语言。J2EE已经有规范出来,nhibernate已经很完善。可是我觉得这是一个退步。增加了使用持久层的学习成本,以及开发的复杂性。另外,ReportingService这样的好东西,根本就只要数据,而不管你的对象和逻辑,如果要使用这个手段,持久层在这个体系统就形同虚设。
    第二,持久层多数情况下只是完成了对象到数据库的映射问题。它尤其违反了一个原则:让数据库做数据库擅长的事情。楼主谈到的性能问题也是这么来的,O/R层只是一个数据存储翻译的问题,没能充分利用数据库系统的特性。
      

  4.   

    orm再大中规模项目中可以减少40%以上的代码量(意味着,更容易维护,更底开发成本,更容易扩展),但代价就是性能,所以你要权衡.
      

  5.   

    我想做一个在1000使用的系统。我找了几家orm的可是都不是太理想。
    nhibernate我没有仔细的研究,但是我发现nhibernate不能在我想新一个字段后,它不用编译程序就
    可以进行数据处理了?,不知我的说法对不对。而我想找到这种orm,高手们有什么好的见意?
      

  6.   

    现在我们用XPO在做MIS系统,感觉开发速度提高很多,至于效率我想一般用户是感觉不出来的,利大于弊!关于XPO的效率,可以去http://www.cnblogs.com/format上看看
      

  7.   

    ORM对于大的项目来说,是很有必要的特别是对于那种基于相同平台的多个项目。可以自动化生成很多底层代码,并且,维护更方便,扩展性更好!代价是数据库访问性能的损失。
    小系统没必要搞ORM,否则只会使系统变慢。
      

  8.   

    但是XPO是不能通过XML的配置来自动加载类属性。我想需要的是只需要改xml的配置就能实现数据的操作。至与数据库的字段可以手工加入.不知高手有没有发现这种orm的厂商,要是自已写的话。我想这不是一个小的工程.
      

  9.   

    使用觉得还是有必要,快速开发吧。
    国外的ORM做得不错的有好些,如:nhibernate,
    国内也有人在写啊,如听棠不就写了SPL,没有做关系的映射,使用起来也挺方便的。