﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-學剑-文章分类-Hibernate</title><link>http://www.blogjava.net/menggaoyi/category/38011.html</link><description>呮汜剑噫，囨汜剑招，适材湜蒖㊣啲髙扌。</description><language>zh-cn</language><lastBuildDate>Tue, 03 Mar 2009 10:06:03 GMT</lastBuildDate><pubDate>Tue, 03 Mar 2009 10:06:03 GMT</pubDate><ttl>60</ttl><item><title>初学者学习Hibernate的方法 </title><link>http://www.blogjava.net/menggaoyi/articles/257565.html</link><dc:creator>孟爺</dc:creator><author>孟爺</author><pubDate>Tue, 03 Mar 2009 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/menggaoyi/articles/257565.html</guid><wfw:comment>http://www.blogjava.net/menggaoyi/comments/257565.html</wfw:comment><comments>http://www.blogjava.net/menggaoyi/articles/257565.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/menggaoyi/comments/commentRss/257565.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/menggaoyi/services/trackbacks/257565.html</trackback:ping><description><![CDATA[<p align="left"><span style="font-size: 12pt">源自：http://www.blogjava.net/dongning/archive/2007/06/08/122837.html<br />
<br />
Hibernate入门容易，掌握精通我也不敢自夸。我第一遍看Hibernate文档的时候也觉得很吃力，但不是因为Hibernate难掌握而感到吃力，是因为Hibernate文档处处都是持久层设计的经验和最佳实践。 <br />
　　Hibernate文档准确的来说，绝大部分内容都在讲对象的持久层设计，而不是简单的Hibernate使用，使用问题查Java doc就够了。所以学习Hibernate，主要是在学习持久层的设计模式，如果你把Hibernate文档都看完了，还整天只会提那些 Hibernate的配置问题，Hibernate的类调用问题，我觉得这样的人还没有真正的入门，算是白学了。 </span></p>
<p align="left"><span style="font-size: 12pt">　　我对Hibernate 的那些配置也不是特别纯熟，每次写hbm，都要对照文档一点点的检查；类调用参数也不太记得，写代码也要Java doc随时备查。</span></p>
<p align="left"><span style="font-size: 12pt">　　但是我在学习Hibernate的时候即集中所有精力来理解Hibernate的运行原理，集中精力来掌握持久层设计应该把握的原则和技巧，这些才对我是最重用的东西。毫不夸张的说，学习完Hibernate，我对JDBC的编程也提高了一大截，更不要说对于J2EE架构的持久层的框架设计，基本上是了然于胸了，即使将来换了API，不用Hibernate的，改用JDO，Castor什么的，这些经验一样照用。</span></p>
<p align="left"><span style="font-size: 12pt">　　学习Hibernate主要不是在学习Hibernat怎么配置，用工具怎么生成hbm文件，如果你把重点放在这里，基本上等于白学了Hibernate。Hibernate的精华在于无与伦比的灵巧的对象持久层设计，这些持久层设计经验不会因为你不用Hibernate而丧失掉，我自己学习Hibernate，已经明显感觉到对持久层设计能力已经长了很多经验值了，这些经验甚至不光可以用在Java上，用在.net上也是一样。</span></p>
<p align="left"><span style="font-size: 12pt">　　所以Hibernate配置的学习，我只是简单看看，用的时候知道到那里去查就行了，一堆复杂的生成工具我根本就看都不去看，这样算下来，掌握Hibernate的配置，可以用Hibernate来替代JDBC写程序，不过花上3天时间就足够了。我想3天时间对你来说不算很奢侈的学习代价吧。 　　为什么我这么强调学习Hibernate的对象持久层设计理念呢？那就看你的理想是想一辈子做一个程序员呢？还是想向更高的方向发展呢？从纯做技术的角度来说，职业发展的最高点是&#8220;系统架构师&#8221;，Bill Gates不是还叫做微软的首席系统架构师吗？</span></p>
<p align="left"><span style="font-size: 12pt">　　System Architect职位需要的是你的学习和领悟能力，如果你不能把学习Hibernate得到的设计经验运用到其它地方，那么你是失败的，也没有资格做 System Architect。</span></p>
<p align="left"><span style="font-size: 12pt">　　不管JDO也好，Hibernate也好，TopLink也好，CocoBase也好，还是Castor，还是什么Torque，OJB，软件的使用和配置方法可以各异，但本质上都是ORM，都是对JDBC的对象持久层封装，所以万变不离其宗，如果你完整的学习和掌握Hibernate花了1个月的时间，那么你再学习OJB的时间不应该超过1个星期，因为你已经把对象持久层设计都了然于胸了，你需要的只是熟悉一下OJB的API和配置罢了，至于怎么运用OJB进行持久层的开发你早就已经熟悉了。</span></p>
<p align="left"><span style="font-size: 12pt">　　所以当你掌握了两种以上的ORM，你应该能够不拘于使用的ORM软件的限制，设计出适合于你的项目的持久层来，这才是System Architect的水准。</span></p>
<p align="left"><span style="font-size: 12pt">　　<span style="color: #666699">用金庸小说来打个比方来说吧，张无忌学太极剑，只记剑意，不记剑招，这才是真正的高手，而低手就只会去学习剑招，而不去领会剑招背后蕴含的剑意，所以一辈子都是低手，永远不能真正学会太极剑。所以周颠看到张三丰第二次演示太极剑，招式完全不同就以为是另一套东西，其实本质上都一样。学习Hibernate也不要舍本逐末的去学各种五花八门的工具，重点掌握它的对象持久层设计理念。</span></span></p>
<img src ="http://www.blogjava.net/menggaoyi/aggbug/257565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/menggaoyi/" target="_blank">孟爺</a> 2009-03-03 15:27 <a href="http://www.blogjava.net/menggaoyi/articles/257565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>