当甲开始对乙进行骂版的时候就说明乙的存在刺痛了甲的软肋!
比如c/c++对java进行骂版(少有java反过来去骂c++的)
如今又出现了ejb对Hibernate进行骂版(少有Hibernate反过来骂ejb的)
结论:大家自己下!

解决方案 »

  1.   

    to jkit(不再灌水) 说的不错!to TurretGun () 
    其实开源的东西,无所谓好坏,你认为适合你,你就用,不适合就不用,很简单的呀!就hibernate来说,(我认识比较浅薄)其目的是将地层数据库与java对象之间建立一种映射关系,认程序开发人员在开发过程中彻底摆脱以前的SQL模式,用面向对象的方法操作数据库,也让开发人员减少对数据库的直接操作!让程序更OOP!
      

  2.   

    “认程序开发人员在开发过程中彻底摆脱以前的SQL模式,”
    ---------------------------
    我认为只能摆脱简单的select
      

  3.   

    既然hibernate只能做简单的事,那么你大可以用它做一般的增删改查,而复杂的SQL你可以用pl/sql来作,互不相扰。因为hibernate也允许你自己写自己的sql并执行。
      

  4.   

    当甲开始对乙进行骂版的时候就说明乙的存在刺痛了甲的软肋!
    比如c/c++对java进行骂版(少有java反过来去骂c++的)
    如今又出现了ejb对Hibernate进行骂版(少有Hibernate反过来骂ejb的)
    结论:大家自己下!
    Good ,good!!
      

  5.   

    本来想说些什么的?不过,我对楼主想表达的那些观点感觉比较模糊,
    就你说的那些,也没有理由让我觉得“垃圾”
    你能说说哪些东东不是垃圾呢?
    楼主能不能具体举两个例子么? 先说说,你所谓的那些不是垃圾的工具是真怎么减轻你工作量的,还有你看好的EJB是什么地方体现出高效率的,还有说说你用成熟稳健的EJB开发出来的大型项目让我们这些菜鸟听听,最后再说说,你们是怎么进行管理的?
      

  6.   

    我也来学学楼主,更狂一点:)!!!标题取为“现在的技术都是垃圾!”理由一
    并没有减轻你的工作量,要写代码的,多麻烦啊。理由二
    把sql语句写进程序语言中,还不如直接在数据库上执行效率高。理由三
    它还没有完全成熟,你们看,各大BBS都有人在开发中遇上好多问题
    理由四
    不利于管理。用XX技术能让你们方便你们管理么? Oh,那只能说明你们平时文档做的很差。
      

  7.   

    唉,这撕懂不懂什么叫ORM,我KAO,可能他
    我猜不出了, 现在在JAVA版好像这类人很多,不是7天学完JAVA2的“大侠”就是一个月精通J2EE的“狂人”,还有就是楼主这样的。乱叫之人。。
    不说了
      

  8.   

    我没有看过Hibernate,楼主说的这些问题,所以我有同感.
    说到具体的项目,老板不在乎你用的是什么技术实现的.他要的是开发效率.但同时他希望在下一个类似的项目的时候,不要改什么东西,最好改改配置,拿过去就可用.他不懂什么技术,但是他搞不懂,为什么同样的业务,要开发那么多的系统版本来支持,浪费时间和米米.靠,我也困惑!
    你把系统交给客户的时候,客户喜欢的是可维护性等等.但这个可维护性就不是说起来那么简单了,你在系统中用到很多东西,可能人家并不喜欢.一个简单的功能,为什么要分那么多层来实现.这种情况你就要跟他解释了,什么可扩展性啊,可配置性啊等等.他如果非常精通SQL(现在中国很多大企业的客户,大都有这样的技术维护人员),你将会发现,他会非常喜欢用存储过程来实现的技术与业务.因为这些他们很熟悉,维护起来会相对来说会很方便.
    就这两种情况来说,也许是个矛盾体.
    这世界本没有完美的东西.大家选择吧
      

  9.   

    我首先问你一个问题,你是不是(至少)很熟悉Hibernate?我想只有对你熟悉甚至精通的东西,你才有资格说它好或者不好,不然你说的一切都只是自己模糊的印象而已。对于EJB也是一样,没有用过至少一年时间就没资格评论它好或者不好。现在有很多人对Hibernate几乎毫无了解,仅仅因为自己只熟悉EJB(甚至只熟悉存储过程)就盲目批评Hibernate;也有很多人道听途说,听别人鼓吹轻量级方案(我就经常这样鼓吹)就跟着盲目批评EJB。两种都是很糟糕的态度。对自己不了解的东西,少做臧否为好。
      

  10.   

    kalu77(王小石)的回复就更有意思了:
    “我没有看过Hibernate,楼主说的这些问题,所以我有同感”
    看都没看过你同感个什么劲?这简直就像在说“我没吃过必胜客的pizza,你觉得好吃我很有同感”。无意义的废话。
      

  11.   

    不了解hibernate,至少我不会考虑立马跟风学习综合楼主的四个理由
    只能推断出一个结论,你接触过的项目或者产品不够大楼主提出的4个问题在小型应用里(不超过100万)感受比较明显
    试问作个论坛,blog要用ORM吗,不必要,除非是个人的技术演示(炫耀)产品
    那么oa和crm需要吗?不完全,你不会是给ibm这样臃肿的公司做吧?那么大数据量?和并发访问,考虑很好的数据安全吗?
    在小应用里用ORM,除了说明你是一个技术的偏执狂外毫无意义我们有自己的ORM(衍生自JDO),但公司门户网站(信息展示带小社区)并不使用这个
    为什么?因为传统方式开发3日搞定,但要用orm,3日连类图都画不完。hibernate好吗?楼主你问错了
      

  12.   

    首先声明Hibernate不了解,我只是针对楼主对O/R的评论谈自己的一点看法,我想楼主根本就不明白O/R Mapping的意义,如果你能够保证你的数据库不需要更改,你的程序不需要可移植行的话你可以根本不用O/R Mapping,每个产品都是有一定的适用范围的,如果O/R Mapping对你不适合的话干嘛要生搬硬套呢?如果效率是你最重要的问题,那么你可以不择手段的去提升效率,别说存储过程,就算是数据库设计不遵循范式都是可以的,更何况不用O/R Mapping。用存储过程或者把sql硬性编码到你的代码里的话有没有想过如果更换数据库或者数据库修改了会是什么样子的呢?虽然暂时开发效率提高了(我不认为开发效率能提高,bmp的Entity Bean和cmp的Entity Bean就是很好的对比),但是一旦数据库改变的又要重新修改代码并重新编译,如果使用O/R Mapping,简单的修改配置文件就可以了。至于楼主说的理由三,有点搞笑,一边在这里骂O/R Mapping,一边又说不如学ejb。ejb中也是包含O/R Mapping的cmp的Entity Bean的啊至于第四点,一个人一个观点,没有必要争论其实没有什么垃圾不垃圾的,只是出发点不同而已,如果站在O/R Mapping的角度看,楼主所说的作法(存储过程,在java文件里写sql)觉得是垃圾我认为如果你觉得一种技术好就去用他,不好的话就不用,也没有人逼着你用啊
      

  13.   

    Hibernate是好东东,推荐学习。
    1.setget.java类和aaaa.hbm.xml有工具根据数据库自动生成,不用你自己写的。
    2.hql不用放在xml中,至少我用hibernate没有放过。
    3.hibernate的性能和开发速度不慢。我测试过.我不认为我学hibernate是跟时代,而是它的确有过人之处。
    学学就清楚了。不要不学就骂。
    还有就是我感觉学这个很容易。
      

  14.   

    well我觉得orm最方便的地方是使你脱离了对某个具体db的依赖比如我开发了一套企业级系统,下一次我想要修改一下架构用于web
    那做web还要安装一个oracle?
      

  15.   

    楼上所说我深有体会
    我个人曾将一个b/s应用:linux,db2,
    完全迁移到windows,mssql2k上,耗时1个小时。仅配置部分做了
    我们用的是类jdo的orm