首页 > 开发 > 综合 > 正文

手低眼高 初学者学习Hibernate的方法

2024-07-21 02:15:11
字体:
来源:转载
供稿:网友

  hibernate入门容易,掌握精通我也不敢自夸。我第一遍看hibernate文档的时候也觉得很吃力,但不是因为hibernate难掌握而感到吃力,是因为hibernate文档处处都是持久层设计的经验和最佳实践。

  hibernate文档准确的来说,绝大部分内容都在讲对象的持久层设计,而不是简单的hibernate使用,使用问题查java doc就够了。所以学习hibernate,主要是在学习持久层的设计模式,如果你把hibernate文档都看完了,还整天只会提那些 hibernate的配置问题,hibernate的类调用问题,我觉得这样的人还没有真正的入门,算是白学了。

  我对hibernate 的那些配置也不是特别纯熟,每次写hbm,都要对照文档一点点的检查;类调用参数也不太记得,写代码也要java doc随时备查。

  但是我在学习hibernate的时候即集中所有精力来理解hibernate的运行原理,集中精力来掌握持久层设计应该把握的原则和技巧,这些才对我是最重用的东西。毫不夸张的说,学习完hibernate,我对jdbc的编程也提高了一大截,更不要说对于j2ee架构的持久层的框架设计,基本上是了然于胸了,即使将来换了api,不用hibernate的,改用jdo,castor什么的,这些经验一样照用。

  学习hibernate主要不是在学习hibernat怎么配置,用工具怎么生成hbm文件,如果你把重点放在这里,基本上等于白学了hibernate。hibernate的精华在于无与伦比的灵巧的对象持久层设计,这些持久层设计经验不会因为你不用hibernate而丧失掉,我自己学习hibernate,已经明显感觉到对持久层设计能力已经长了很多经验值了,这些经验甚至不光可以用在java上,用在.net上也是一样。

  所以hibernate配置的学习,我只是简单看看,用的时候知道到那里去查就行了,一堆复杂的生成工具我根本就看都不去看,这样算下来,掌握hibernate的配置,可以用hibernate来替代jdbc写程序,不过花上3天时间就足够了。我想3天时间对你来说不算很奢侈的学习代价吧。   为什么我这么强调学习hibernate的对象持久层设计理念呢?那就看你的理想是想一辈子做一个程序员呢?还是想向更高的方向发展呢?从纯做技术的角度来说,职业发展的最高点是“系统架构师”,bill gates不是还叫做微软的首席系统架构师吗?

  system architect职位需要的是你的学习和领悟能力,如果你不能把学习hibernate得到的设计经验运用到其它地方,那么你是失败的,也没有资格做 system architect。

  不管jdo也好,hibernate也好,toplink也好,cocobase也好,还是castor,还是什么torque,ojb,软件的使用和配置方法可以各异,但本质上都是orm,都是对jdbc的对象持久层封装,所以万变不离其宗,如果你完整的学习和掌握hibernate花了1个月的时间,那么你再学习ojb的时间不应该超过1个星期,因为你已经把对象持久层设计都了然于胸了,你需要的只是熟悉一下ojb的api和配置罢了,至于怎么运用ojb进行持久层的开发你早就已经熟悉了。

  所以当你掌握了两种以上的orm,你应该能够不拘于使用的orm软件的限制,设计出适合于你的项目的持久层来,这才是system architect的水准。

  用金庸小说来打个比方来说吧,张无忌学太极剑,只记剑意,不记剑招,这才是真正的高手,而低手就只会去学习剑招,而不去领会剑招背后蕴含的剑意,所以一辈子都是低手,永远不能真正学会太极剑。所以周颠看到张三丰第二次演示太极剑,招式完全不同就以为是另一套东西,其实本质上都一样。学习hibernate也不要舍本逐末的去学各种五花八门的工具,重点掌握它的对象持久层设计理念。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表