我目前都是直接用jdbc
要用hibernate吗?hibernate 每个表都要建立个DAO?这样不会觉得很烦吗?多表查询 用sql 不是更好?维护hibernate  比维护 sql更简单?

解决方案 »

  1.   

    就单一hibernate 来说!用起来还是很方便的呀!
    很多东西都由工具生成,很大的提高了开发效率!
    的确没一个类需要对应一个 表!就要有一个DAO
    但是这些工具自动就可以生成!完成了你只需要调用就可以了!
    还有你说的多表查询!
    修改一下执行的HQL的语句就可以了!
    也很简单呀!
    各有各的好吧!你用hibernate 也可以直接执行SQL语句!
    只是同样的方法你改下方法的代码就行了!
      

  2.   

    哎  其实我更宁愿自己写sql
    不过呢...
      

  3.   

    额很喜欢你的头像,这个mm很冷很黑,很有味道
    ORM框架,不一定要用hibernate
    多表查询貌似HQL也能办吧!
    用了它,它帮你把底层的方法封装好,并且会很大程度上优化SQL,这个工作由它来做了,程序员只要关心实际的业务逻辑,而不用管到底怎么去开关数据库连接等。
    鄙人愚见
    还是很喜欢你的头像。真的很黑很冷,很有味道
      

  4.   

    网上看到一篇关于数据库链接你到底是真关掉了还是假关掉了,出了异常怎么关的文章,发现原来写的那些数据库链接关闭的东东还真有机会逃出try{}catch(){}
    貌似叫什么擦屁股理论吧。不才,曾经因为项目太大,屁股没擦干净导致项目经常宕机
      

  5.   

    hibernate有个反向工程很好用,可以根据数据库表直接生成对应的POJO类和DAO,几乎不用写代码,推荐使用!
      

  6.   

    昨天面试,一个达人大哥哥。问我到底是现有库还是先有类
    我说我做的都是现有库,然后hibernate帮我生成实体BEAN和HBM.XML
    然后大哥哥说了,有没有先有类,再从类来数据库生成这样做过。我当时就傻眼了原来我都只用了皮毛
      

  7.   

    hibernate开发速度确实比较快,不过运行速度真的不怎么样,如果对性能要求比较高的建议还是不要用。
      

  8.   

    hibernate挺好用的 比JDBC好得多
      

  9.   

    这样能用hibernate查出来吗?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    怎样实现最大值相加?ls_h sl hp_h
    1 100 001
    1 200 001
    1 300 001
    2 150 001
    2 700 001求出hp_h是001 的最大值的和就是 300+700=1000select sum(sl) sl
    from (
      select max(sl) sl
      from tb
      where hp_h='001'
      group by ls_h
    ) as t
      

  10.   

    不用原生的sql 用hibernate的多表查询
      

  11.   

    不要生气撒hibernate也不是万能的。
      

  12.   

    数据库移植的话,多写个语句不就得了?
    String sql="..";//sql2000
    if (oracel)
    sql="";
    if(mysql)
    sql="";
     
      

  13.   

    可以先有类和hbm.xml,Hibernate会自动在数据库创建表
      

  14.   


    hibernate有个反向工程很好用,可以根据数据库表直接生成对应的POJO类和DAO,几乎不用写代码,推荐使用!昨天面试,一个达人大哥哥。问我到底是现有库还是先有类
    我说我做的都是现有库,然后hibernate帮我生成实体BEAN和HBM.XML
    然后……
    [/Quote]
      

  15.   

    不赞同使用HIBERNATE,垃圾的很,而且很烦。
    返璞归真才是王道,支持原生态,有利于环境的保护。营造绿色生活,城市让生活更美好。
    better city, better life!
      

  16.   

    hibernate有它的作用,它把jdbc技术封装了,封装完了,应变成了完全面向对象的开发模式了,它可以不用写sql语句,因为sql语句是面向关系的,而用hql,或者QBC来查询,这是面向对象的。我觉得非常方便,而且它可以通用,就是说,如果有朝一日,你的数据库换了,你写的DAO是不用改的。照样可以用的。
      

  17.   

    对性能要求很高的时候就用SQL吧,hibernate必须深入理解才能灵活应用。还有hibernate的配置文件都可以由工具生成。
      

  18.   

    首先hibernate的设计是为了让java人员跟好的操作数据!
    不是每一个java设计者都会使用sql语言的!
    hibernate就是为了把关系型的数据库变成面向对象的方式来操作!
    数据库种类多了!网,层,关系,对象!四种!
    有了hibernate这样完全的面向对象化了!
    另外说一句!在我的使用中hibernate可以完成我任何要求,包括操作存储过程,触发器,索引!
    而且hibernate有个级联跟新也特别的好!
    多表查询,这些都很简单了!并不是说有了hibernate就不用sql语言了知道吧!
    要结合一起使用!你才会发现它原来代替了写了大量繁琐的代码!
    你需要一些繁琐的查询!你要hibernate来实现的话!如果你不会可以使用sql语句直接执行的么!
    hibernate中也支持sql语言的执行!
    懂的如何运用就可以!
    -----------------------
    数据库移植的话,多写个语句不就得了?
    String sql="..";//sql2000
    if (oracel)
    sql="";
    if(mysql)
    sql="";
    可笑的话!面向接口编程你学哪里去了???
    根据要使用什么数据库!使用什么实现的类!
    mysql,oracle,sql,db2,一个接口,然后使用什么数据库实现怎么样类!
    灵活应用就行了!
    所有的东西不是说是为了使用而故意设计到我们的程序中去!
    这样就过度设计了!我相信上学的时候老师说过的吧!
    运用其来方便提高效率,完成功能,易于维护,这就是目标!
      

  19.   

    在hibernate的配置文件里有一个属性hibernate.hbm2ddl.auto
    给这个属性配置为create参数后运行就可以按照你的映射文件和配置文件生成数据库表和关系了