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也不要舍本逐末的去学各种五花八门的工具,重点掌握它的对象持久层设计理念。

转载于:https://www.cnblogs.com/fengye/archive/2007/02/05/641113.html

手低眼高 初学者学习Hibernate的方法相关推荐

  1. 计算机语言低下限高上限,学习语言有没有上限

    学习语言有没有上限 科学家普遍认为,语言是人类特有的认知天赋的一部分,所以长期以来,科学家一直在研究疾病和创伤如何削弱语言能力.但是,直到现在,科学家仍不清楚一个人最多能掌握多少种语言. 在经过长期沉 ...

  2. 没有电脑可以学习python_有没有适合初学者学习Python的方法?

    1.最好不要被开发工具的选择所束缚,简单直接 要学习编程语言,首先找到联合集成开发工具似乎是一个自然的想法.为什么不呢?IDE可以自动校准,点击运行,还可以调试断点.使用IDE开发项目就像驾驶室内豪华 ...

  3. 全国计算机等级考试桑葚,高负荷学习眼睛干涩疲劳?省考试院推荐6大营养果蔬护眼有方!附食谱...

    原标题:高负荷学习眼睛干涩疲劳?省考试院推荐6大营养果蔬护眼有方!附食谱 现阶段正是高考蓄力阶段,也是考生压力较大的时期.高负荷学习,一直盯着书本,眼睛容易干涩疲劳.当眼部疲劳或不适时,视网膜上的感光 ...

  4. 低学历者该如何学习计算机技术

    首先,当前学习很多计算机知识是没有门槛限制的,即使自身的知识基础非常薄弱也是完全可以学习的,比如Python语言就比较适合基础薄弱的初学者学习. 虽然在当前产业结构升级的大背景下,计算机相关技术越来越 ...

  5. 超适合初学者学习的3d建模小技巧!

    今天来为大家分享适合建模初学者学习的几个小技巧.想要学习一项技能,方向和方法对了才可以事半功倍. 制定合理地目标 想要快速学习建模,一定要给自己制定一个合理地目标,不然你的状况可能就是"今天 ...

  6. 哪种编程语言适合初学者学习

    很多想学习编程语言的初学者可能都会问一个问题:哪张语言适合初学者学习?"听说Java很不错,就业前景好." "听说Python现在很火,而且很简单,而且从业方向很高端:人 ...

  7. 【初学者技术修炼】毕业生初学者学习前后端技术路线图

    [初学者技术修炼]毕业生初学者学习前后端技术路线图 1 序 2 路线图 2.1 搭建可交互的前端WEB界面路线图 2.1.1 静态页面构造 2.1.2 JavaScript学习 2.1.3 低代码平台 ...

  8. 忠告初学者学习Linux系统的8点建议

    忠告初学者学习Linux系统的8点建议 新手或者说即将要入坑的小伙伴们,常常在QQ群或者在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:如何给添加的用户归属用户组,复制整个文件到 ...

  9. 风变编程python第一关脸黑怪我喽_风变编程:Python适合编程初学者学习吗?

    来源标题:风变编程:Python适合编程初学者学习吗? 据百度大数据统计每月有4260705的用户在百度检索Python相关介绍,在大众周围,也总是充斥着各种如何学习Python的声音,许多人已经对于 ...

最新文章

  1. 最优乘车pascal程序
  2. bootstrap datetimepicker的一些小总结
  3. 利用Frame Animation实现动画效果,代码正确,就是达不到变换效果
  4. 中查询一个文件夹下文件数量_如何在 Bash 中使用循环 | Linux 中国
  5. 【Elasticsearch】Elasticsearch查询参数batched_reduce_size的解释
  6. ffmpeg 从内存中读取数据(或将数据输出到内存)
  7. 安装Office2010提示缺少MSXML版本6.10.1129.0的解决方法
  8. html添加js的代码注释,JavaScript 注释方法总结
  9. 边沿触发器(T触发器)
  10. 软件测试入门及实战篇
  11. 【强化学习】ICLR 2020 强化学习相关论文与会议slides分享
  12. High Scalability创始人Todd Hoff:Facebook网络性能的秘密武器
  13. STM32固件库点亮LED灯
  14. 区块链供应链金融有着怎样的意义?
  15. AE插件 自定义动画曲线AEscripts flow for Mac
  16. dos命令(转东转西)
  17. Vultr 修改 Root 账户密码教程
  18. 面试必备:ArrayMap源码解析
  19. 这个IDEA插件可以帮你少写30%的代码
  20. DockerK8s---跟我一步步部署K8s(二进制安装部署)

热门文章

  1. qsort函数和sort函数
  2. php网站如何静态化链接,建站教程之网站URL静态化处理
  3. 时间被空间和运动度量
  4. 各种pytorch项目
  5. 使用selenium设置firefox不加载图片增加加载速度提高爬虫效率
  6. python经典练习题
  7. Liunx 查看硬件信息
  8. VVOL、VASA — 为什么如此重要
  9. SQL 时间类型转字符串格式列表
  10. 一个简单的struts的例子