解决方案 »

  1.   

    可以看出来你还比较用心呐,我以前刚学hibernate也有过和你相同的误区,举个栗子,项目中需要通过关联查询出一个表的某个字段的信息(我都设置了关联映射),查询的结果我总以为是一堆String,还老想着怎么处理这些字符串,实际上关联映射查出来的对象包含了这个对象的所有信息,不知道你理解不,这就是我认为hibernate最方便的地方,可以用最简便的写法去出去复杂的关联查询,这样大大的提高了开发效率,但代价就是效率方面,肯定比不上操作JDBC,不过在中小型项目体现不出来的。
    Hibernate框架本身并不复杂,以前来我们公司面试的,刚毕业的,让他谈谈hibernate,他就说很简单,什么save啊update都是直接用,很方便。刚开始学确实会有这样的想法,因为通过hibernate实现实体Bean和数据库的映射关系,使得我们基本不需要考虑如何写SQL语句,只需要理清关系,剩下的交给hibernate就OK了,其实hibernate框架本身使用并不复杂,复杂的是他的优化技术,hibernate设计者设计之初就把心思放在了如何优化上,比如:懒加载,抓取策略,二级缓存,连接池等等,hibernate表面上看起来简单其实确实非常的博大精深,那些说hibernate效率不高,什么什么的,都是那些表面上会一点,听别人说的,自己就妄加评论hibernate怎么怎么不行,我只能说他们只是hibernate的新手,真正的hibernate高手做出的东西,不会比mybatis等持久化框架做的的慢多少。作为SSH的重头戏,hibernate确实非常值得学习和研究,等你到一定程度之后读一读源码,会有更深层次的收获的。