2011-09-01
关于这个问题网上讨论的很多,多查查其实也大概清楚了。
我说点自己的体会吧
其实刚开始用hibernate时,也没觉得有多方便,感觉配置好复杂,什么状态、关联、缓存搞不清,而且复杂的查询很难实现。开发起来缩手缩脚,如履薄冰,觉得没有jdbc来的灵活,随心所欲。
hibernate用多了之后再使用jdbc,感觉jdbc好烦,老是要对应你数据库中的字段和程序中的实体。比如查询操作,hibernate中一句load(class,id) 就好了,而jdbc一直写rs.get(“你数据库字段名") ,你要一直对照数据库。hibernate的开发效率确实要高很多。
还有一点感触,jdbc和数据库耦合太高,要换数据库的话,代价大。
不知道你具体要了解些什么,希望对你有所帮助。
--------------------------
hibernate封装了轻量级的Jdbc组件,hql语句是面向对象的比较简单,
Jdbc操纵的是变量,是瞬时的和数据库的值不一致,Hibernate操纵的是对象,对象的值和数据库的值保持一致
hibernate 在表多的时候,表与表之间的关系比较复杂,不易操作
****************************************************
hibernate连接与JDBC连接的区别
1.hibernate和jdbc主要区别就是,hibernate先检索缓存中的映射对象( 即hibernate操作的是对象),而jdbc则是直接操作数据库.
2.Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合
3.Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。
还有一点,正确的使用JDBC技术,它的效率一定比hibernate要好,因为hibernate是基于jdbc的技术.
提问者评价非常感谢