初学者学习Hibernate的方法

源自:http://www.blogjava.net/dongning/archive/2007/06/08/122837.html

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

posted on 2009-03-03 15:27 孟爺 阅读(239) 评论(19)  编辑  收藏 所属分类: Hibernate

评论

# re: 初学者学习Hibernate的方法 2009-11-03 09:59 狗狗

只是随便改个签名而已!  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-11-03 10:13 狗狗

人呢,怎么不见!  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-11-11 17:24 狗狗

pic地址
http://student.csdn.net/space.php?uid=39834&do=album&picid=23777&goto=down

Fedora 11的安装配置
http://linux.chinaunix.net/techdoc/system/2009/08/25/1132653.shtml  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-11-11 17:27 狗狗

http://www.chinaunix.net/  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-11-11 17:54 狗狗

www.3gpp.org
www.3gpp2.org
www.51testing.com
www.agentpp.com
www.alcatel-lucent.com
www.alldatasheet.com
www.altera.com
www.apache.org
www.arm.com
www.att.com
bbs.eetop.cn
www.billingchina.com
www.blogjava.net
https://www.bluetooth.org
www.bt.com
www.c114.net
www.chinamobile.com
www.chinatelecom.com.cn
www.chinaunicom.com.cn
www.chinaunix.net
www.cisco.com
www.citrix.com
www.cnblogs.com
www.cnc.com.cn
code.google.com
www.codeplex.com
www.codeproject.com
www.cpan.org
www.cplusplus.com
www.csdn.net

www.dataconnection.com
www.debian.org
www.dell.com
www.dianyuan.com
www.eclipse.org
ectonline.tsmc.com
www.edacn.net
ep.espacenet.com
www.ericsson.com
www.etsi.org
www.francetelecom.com
www.freebsd.org
www.freepatentsonline.com/
www.gnu.org
www.h3c.com.cn
www.hp.com
www.huihoo.com
www.ibm.com
www.ieee.org
www.ietf.org
www.immigration.gov.ng
www.infineon.com
www.infoq.com/cn/
www.intel.com
www.j2medev.com
www.java.net
java.sun.com
www.javaeye.com
www.jboss.com
www.juniper.net
www.kernel.org

www.lenovo.com
www.lightreading.com
www.limosa.be
www.linuxforum.net
www.linuxsir.org
www.loveunix.net
www.micron.com
msdn.microsoft.com
www.net130.com
www.netbeans.org
www.nigeriaembassy.cn
www.novell.com
www.ntt.com
www.onjava.com
www.openbsd.org
www.opencores.org
www.openmobilealliance.org
www.open-open.com
www.opensolaris.org
www.opensparc.org
www.opic.gc.ca
www.oracle.com
www.orafaq.com
www.pcbbbs.com
www.pcisig.com
www.perl.org
portal.uspto.gov
www.Python.org

www.qualcomm.cn
www.rfc-editor.org
www2.rohde-schwarz.com
www.ruby-doc.org
www.ruby-lang.org
www.sipo.gov.cn
sourceforge.net
www.sun.com
https://support.cdmatech.com
www.sybase.com
www.synopsys.com
www.tclchina.com
www.telekom.de
www.ti.com
www.tigris.org
tortoisesvn.net
www.tsmc.com
www.ttcn-3.org
www.ubuntu.com
www.umlchina.com
www.vckbase.com
www.veritas.com
visa.diplo.de
www.vodafone.com
www.w3.org
www.windriver.com
www.wipo.int
www.wipsglobal.com
www.xilinx.com

  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-11-15 23:58 mm

主页:http://www.feedsky.com/feeds/topsub_csdn.html

http://blog.csdn.net/jobchanceleo
http://blog.csdn.net/absurd

http://www.verycd.com/topics/2724470/  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:38 gougou

图书分类  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:44 孟爺

A 马克思主义、列宁主义、毛泽东思想
1 马克思、恩格斯著作 2 列宁著作 3 斯大林著作 4 毛泽东著作 5 马克思、恩格斯、列宁、斯大林、毛泽东著作汇编 7 马克思、恩格斯、列宁、斯大林、毛泽东的生平和传记 8 马克思主义、列宁主义、毛泽东思想的学习和研究
  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:44 孟爺

B 哲学
0 哲学理论 1 世界哲学 2 中国哲学 3 亚洲哲学 4 非洲哲学 5 欧洲哲学 6 大洋洲哲学 7 美洲哲学 80 逻辑科学(总论) 81 逻辑学 82 伦理学 83 美学 84 心理学 9 无神论、宗教
  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:44 孟爺

C 社会科学总论
0 社会科学理论与方法论 1 社会科学现状、概况 2 机关、团体、会议 3 社会科学研究方法 4 社会科学教育与普及 5 社会科学丛书、文集、连续性出版物 6 社会科学参考工具书 [7] 社会科学文献检索工具书 8 统计学 91 社会学 92 人口学 93 管理学 [94] 系统论(系统学、系统工程) 96 人才学
  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:46 孟爺

D 政治、法律
0 政治理论 1/3共产主义运动、共*党 4 工人、农民、青年、妇女运动与组织 5/7世界各国政治 8 外交、国际关系 9 法律  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:46 孟爺

F 经济
0 政治经济学 1 世界各国经济概况、经济史、经济地理 2 经济计划与管理 3 农业经济 4 工业经济 5 交通运输经济 6 邮电经济 7 贸易经济 8 财政、金融

G 文化、科学、教育、体育
0 文化理论 1 世界各国文化事业概况 2 信息与知识传播 3 科学、科学研究 4 教育 8 体育

H 语言、文字
0 语言学 1 汉语 2 中国少数民族语言 3 常用外国语 4 汉藏语系 5 阿尔泰语系 7 印欧语系

I 文学
0 文学理论 1 世界文学 2 中国文学 3/7各国文学

J 艺术
0 艺术理论 1 世界各国艺术概况 2 绘画 3 雕塑 4 摄影艺术 5 工艺美术 6 音乐 7 舞蹈 8 戏剧艺术 9 电影、电视艺术
  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:46 孟爺

K 历史、地理
0 史学理论、 1 世界史、 2 中国史、 3 亚洲史、 4 非洲史、 5 欧洲史、 6 大洋洲史、 7 美洲史、 81 传记、 85 文学考古、 89 风俗习惯、 9 地理

N 自然科学总论

O 数理科学和化学
1 数学 3 力学 4 物理学 6 化学 7 晶体学

P 天文学、地理科学
1 天文学 2 测绘学 3 地球物理学 4 气象学 5 地质学 7 海洋学 9 自然地理学

Q 生物科学
1 普通生物学 2 细胞学 3 遗传学 4 生理学 5 生物化学 6 生物物理学 7 分子生物学 81 生物工程学 91 古生物学 93 微生物学 94 植物学 95 动物学 96 昆虫学 98 人类学

R 医学、卫生
1 预防医学、卫生学 2 中国医学 3 基础医学 4 临床医学 5 内科学 6 外科学 8 特种医学 9 药学

S 农业科学
1 农业基础科学 2 农业工程 3 农学(农艺学) 4 植物保护 5 农作物 6 园艺 7 林业 8 畜牧、兽医、狩猎、蚕、蜂 9 水产、渔业
  回复  更多评论   

# re: 初学者学习Hibernate的方法 2009-12-23 13:46 孟爺

T 工业技术
TB 一般工业技术 TD 矿业工程 TE 石油、天然气工业 TF 冶金工业 TG 金属学、金属工艺 TH 机械、仪表工业 TJ 武器工业 TK 动力工程 TL 原子能技术 TM 电工技术 TN 无线电电子学、电信技术 TP 自动化技术、计算技术 TQ 化学工业 TS 轻工业、手工业 TU 建筑科学 TV 水利工程

U 交通运输
1 综合运输 2 铁路运输 4 公路运输 6 水路运输 [8] 航空运输

V 航空、航天
1 航空、航天技术的研究与探索 2 航空 4 航天(宇宙航行) [7] 航空、航天医学

X 环境科学、劳动保护科学(安全科学)
1 环境科学基础理论 2 环境保护管理 3 环境综合研究 4 灾害及其防治 5 环境污染及其防治 7 三废处理与综合利用 8 环境质量评价与环境监测 9 劳动保护科学(安全科学)

Z 综合性图书
1 丛书 2 百科全书、类书 3 辞典 4 论文集、全集、选集、杂著 5 年签、年刊 6 期刊、连续性出版物 8 图书目录、文摘、索引
  回复  更多评论   

# re: 初学者学习Hibernate的方法 [未登录] 2010-01-08 17:17 111

专业技能
 项目管理: 熟悉CMMI项目管理流程,熟悉敏捷开发。
 熟练掌握编程语言: JAVA,JSP,JS,AJAX,ORACLE存储过程,C#,CSS;
 熟悉Oracle,SQL Server数据库
 能熟练应用Struts/Hibernate/Spring等开源框架进行项目开发;熟悉WEB服务器Tomcat、Apusic、Weblogic应用配置。
 熟练运行开发平台:windows、linux
 熟练掌握开发管理工具: MyEclipse、JBuilder、PL/SQL Developer、CVS、VSS、SVN  回复  更多评论   

# re: 初学者学习Hibernate的方法 [未登录] 2010-01-08 17:18 111

项目经验
1. 2005.09 -2008.09,深圳市福田区电子政务系统,作为骨干开发人员,负责部分子系统的编码测试,以及后期维护工作。包含以下子系统:福田区信访电子监察系统,福田区重大项目投资系统,福田区电子监察系统
2. 2008.10 -2009.02,华为外包 华为产品培训系统优化,作为项目组长及开发人员,负责部分模块的重构优化。
3. 2009.04 -2009.11,华为外包 中国移动业务支撑系统,作为开发骨干,负责BOSS渠道子系统前台的迭代版本开发,主要涉及空中充值、手机钱包、渠道经理管理等模块。
4. 2010.12 -至今,华为外包 中国移动业务支撑系,作为项目组长及开发骨干负责BOSS资源子系统的交接工作。  回复  更多评论   

# re: 初学者学习Hibernate的方法 [未登录] 2010-01-08 17:18 111

工作经历
时间 地点 职务
2005年9月-2008年9月 深圳太极软件有限公司 软件工程师
2008年10月-2009年2月 深圳中博科创软件公司 高级软件工程师
2009年04月-至今 昆山中创软件工程有限责任公司 项目组长 / 软件开发  回复  更多评论   

# re: 初学者学习Hibernate的方法 [未登录] 2010-01-08 17:20 111

教育背景
1. 2002年9月——2005年7月 桂林电子科技大学
自我介绍
工作积极、主动、热情,责任心强,对自己要求严格。具有良好的团队协作精神,沟通能力,总能营造活跃的工作气氛。喜欢挑战自己。  回复  更多评论   

# re: 初学者学习Hibernate的方法 [未登录] 2010-02-08 15:14 aaa

SecureCRT
Beyond.Compare_2.2.6.226_SC(文件比较器).exe
抓图工具.exe  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

留言簿

文章分类

文章档案

搜索

最新评论