手低眼高 初学者学习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的方法相关推荐
- 计算机语言低下限高上限,学习语言有没有上限
学习语言有没有上限 科学家普遍认为,语言是人类特有的认知天赋的一部分,所以长期以来,科学家一直在研究疾病和创伤如何削弱语言能力.但是,直到现在,科学家仍不清楚一个人最多能掌握多少种语言. 在经过长期沉 ...
- 没有电脑可以学习python_有没有适合初学者学习Python的方法?
1.最好不要被开发工具的选择所束缚,简单直接 要学习编程语言,首先找到联合集成开发工具似乎是一个自然的想法.为什么不呢?IDE可以自动校准,点击运行,还可以调试断点.使用IDE开发项目就像驾驶室内豪华 ...
- 全国计算机等级考试桑葚,高负荷学习眼睛干涩疲劳?省考试院推荐6大营养果蔬护眼有方!附食谱...
原标题:高负荷学习眼睛干涩疲劳?省考试院推荐6大营养果蔬护眼有方!附食谱 现阶段正是高考蓄力阶段,也是考生压力较大的时期.高负荷学习,一直盯着书本,眼睛容易干涩疲劳.当眼部疲劳或不适时,视网膜上的感光 ...
- 低学历者该如何学习计算机技术
首先,当前学习很多计算机知识是没有门槛限制的,即使自身的知识基础非常薄弱也是完全可以学习的,比如Python语言就比较适合基础薄弱的初学者学习. 虽然在当前产业结构升级的大背景下,计算机相关技术越来越 ...
- 超适合初学者学习的3d建模小技巧!
今天来为大家分享适合建模初学者学习的几个小技巧.想要学习一项技能,方向和方法对了才可以事半功倍. 制定合理地目标 想要快速学习建模,一定要给自己制定一个合理地目标,不然你的状况可能就是"今天 ...
- 哪种编程语言适合初学者学习
很多想学习编程语言的初学者可能都会问一个问题:哪张语言适合初学者学习?"听说Java很不错,就业前景好." "听说Python现在很火,而且很简单,而且从业方向很高端:人 ...
- 【初学者技术修炼】毕业生初学者学习前后端技术路线图
[初学者技术修炼]毕业生初学者学习前后端技术路线图 1 序 2 路线图 2.1 搭建可交互的前端WEB界面路线图 2.1.1 静态页面构造 2.1.2 JavaScript学习 2.1.3 低代码平台 ...
- 忠告初学者学习Linux系统的8点建议
忠告初学者学习Linux系统的8点建议 新手或者说即将要入坑的小伙伴们,常常在QQ群或者在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的.例如:如何给添加的用户归属用户组,复制整个文件到 ...
- 风变编程python第一关脸黑怪我喽_风变编程:Python适合编程初学者学习吗?
来源标题:风变编程:Python适合编程初学者学习吗? 据百度大数据统计每月有4260705的用户在百度检索Python相关介绍,在大众周围,也总是充斥着各种如何学习Python的声音,许多人已经对于 ...
最新文章
- 最优乘车pascal程序
- bootstrap datetimepicker的一些小总结
- 利用Frame Animation实现动画效果,代码正确,就是达不到变换效果
- 中查询一个文件夹下文件数量_如何在 Bash 中使用循环 | Linux 中国
- 【Elasticsearch】Elasticsearch查询参数batched_reduce_size的解释
- ffmpeg 从内存中读取数据(或将数据输出到内存)
- 安装Office2010提示缺少MSXML版本6.10.1129.0的解决方法
- html添加js的代码注释,JavaScript 注释方法总结
- 边沿触发器(T触发器)
- 软件测试入门及实战篇
- 【强化学习】ICLR 2020 强化学习相关论文与会议slides分享
- High Scalability创始人Todd Hoff:Facebook网络性能的秘密武器
- STM32固件库点亮LED灯
- 区块链供应链金融有着怎样的意义?
- AE插件 自定义动画曲线AEscripts flow for Mac
- dos命令(转东转西)
- Vultr 修改 Root 账户密码教程
- 面试必备:ArrayMap源码解析
- 这个IDEA插件可以帮你少写30%的代码
- DockerK8s---跟我一步步部署K8s(二进制安装部署)