`

眼低手高,教初学者如何学习Hibernate-转贴

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

相关推荐

    Hibernate-extensions 完整安装包

    《Hibernate-Extensions全面指南》 Hibernate,作为Java领域中的一款著名对象关系映射(ORM)框架,极...无论你是初学者还是经验丰富的开发者,这个完整的安装包都值得你拥有,因为它将为你的开发工作带来极大的便利。

    hibernate-cglib-repack-2.1_3.jar.zip

    《深入理解Hibernate-CGLIB-2.1_3在Java开发中的应用》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极...对于初学者,理解并熟练掌握Hibernate和CGLIB的使用,无疑是提升开发能力的重要一步。

    hibernate-distribution-3.6.6.Final.tar.gz

    3. **示例代码**:可能包含在`examples/`目录下,这些示例展示了如何在实际项目中配置和使用Hibernate,包括实体类定义、映射文件、SessionFactory创建、CRUD操作等,是初学者上手的好帮手。 4. **配置文件**:如`...

    hibernate-search-orm-5.0.0.Alpha1.zip

    标题中的“hibernate-search-...这个压缩包对于初学者或希望快速启动Web应用的开发者来说非常有价值,因为它提供了一个现成的框架,可以直接在此基础上进行开发,同时也可以深入研究各个组件的实现细节,提升技术能力。

    hibernate-3.2.6完整jar包+src

    对于初学者,这是一个宝贵的教育资源;对于有经验的开发者,它可以作为解决问题的参考工具。通过深入学习和实践,我们可以更好地利用Hibernate这一强大的工具,提高开发效率,减少数据库操作的复杂性。

    hibernate源码release-4.1.4.Final版

    《深入剖析Hibernate 4.1.4.Final源码》 Hibernate,作为一款著名的Java对象关系映射(ORM)框架,极大地简化了Java...这是一份宝贵的资源,无论是对于初学者还是经验丰富的开发者,都值得投入时间和精力去研究。

    hibernate-release的5.0.7版本和最新的5.3.6版本

    从学习的角度来看,5.0.7版本是一个很好的起点,它的特性涵盖了Hibernate的基本操作和概念,适合初学者了解和掌握ORM的核心思想。而5.3.6版本则更适合实际项目开发,因为它包含了许多新特性和性能优化,能够应对更...

    hibernate-helloworld

    本篇文章将深入探讨在"hibernate-helloworld"项目中的核心概念与实践步骤,帮助初学者快速入门Hibernate。 首先,我们需要了解Hibernate的核心理念:对象关系映射。ORM是连接Java应用程序和关系数据库的桥梁,它...

    hibernate-distribution-3.5.0-Final-dist

    《Hibernate 3.5.0:企业级持久化框架深度解析》 Hibernate,作为一个开源的对象关系映射(ORM)框架,极大地简化了Java应用程序与...无论是初学者还是经验丰富的开发者,都能从中受益,提升自己的Java开发技能。

    特别适合初学者的hibernate教程课件

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个"特别适合初学者的...配合“hibernate-ppt”中的课件,相信可以帮助初学者更直观、系统地学习Hibernate。

    hibernatetools-Update-4.1.1.Final_2013-12-08_01-06-33-B605

    《Hibernate Tools更新4.1.1.Final版详解与应用》 ...对于初学者和经验丰富的开发者来说,都是不可多得的工具。在日常开发中,熟练掌握并合理利用这些工具,将使Java ORM编程变得更加轻松和高效。

    hibernate-demo.zip

    【hibernate-demo.zip】是一个...对于初学者而言,"hibernate-demo"提供了一个很好的实践平台,而对于经验丰富的开发者,这个示例则可以作为一个快速参考或模板,帮助他们在新的项目中快速集成Hibernate和MariaDB。

    hibernate所需的13个(1个mysql驱动包+3个日志包+9个hibernate-required包)jar包

    总的来说,这个压缩包提供的jar文件集合是初学者入门Hibernate所必需的基础环境,涵盖了连接数据库、日志记录以及ORM的核心功能,为开发Java应用提供了一个完整的Hibernate环境。在实际开发中,根据项目的具体需求,...

    hibernate-3.2.6-bin_b.rar

    3. **eg**:示例代码或测试用例通常存放在此,这对于初学者理解和学习Hibernate的使用方法提供了极大的帮助。通过运行和分析这些例子,我们可以快速掌握Hibernate的基本操作,如对象持久化、关联映射等。 4. **lib*...

    hibernate-min-lib.rar

    "hibernate-min-lib.rar" 提供了一个精简版的Hibernate库,包含了学习和开发过程中最基本、最核心的功能,足以满足初学者对Hibernate框架的理解与实践需求。 一、Hibernate概述 Hibernate 是一款开源的Java ORM框架...

    hibernate-3.4.0资料集锦

    本资料集锦包含了Hibernate 3.4.0版本的相关学习资源,适合初学者系统学习和进阶提升。 一、Hibernate 概述 Hibernate 提供了一个数据访问接口,它将Java对象和数据库表之间的映射信息存储在XML配置文件或注解中。...

    hibernate-最全架包和帮助文档

    它涵盖了从安装、配置到高级特性的所有内容,对初学者和经验丰富的开发者都非常有用。 总的来说,这个压缩包“hibernate-distribution-3.3.2.GA”是学习和应用Hibernate 3.3.2版本的宝贵资料,包含了所有必要的库...

    hibernate-annotations-3.0-alpha3.zip

    《Hibernate Annotations 3.0 Alpha3:Java对象持久化的强大工具》 Hibernate是Java领域中广泛应用的对象关系映射...无论是初学者还是经验丰富的开发者,都可以从中获得宝贵的知识,进一步提升在Java ORM领域的技能。

    Oracle Database 11g初学者指南--详细书签版

    《Oracle Database 11g初学者指南--详细书签版》是一本为初学者量身定制的指南,内容涵盖了Oracle Database 11g的基础知识、安装、管理、编程、备份与恢复、高可用性解决方案以及大型数据库特性等方面。 一、核心...

Global site tag (gtag.js) - Google Analytics