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也不要舍本逐末的去学各种五花八门的工具,重点掌握它的对象持久层设计理念。
分享到:
相关推荐
"Belajar Hibernate Select"(学习Hibernate选择)的主题是关于如何利用Hibernate来执行数据库查询,这是每个Java开发人员在进行数据库驱动的应用程序开发时必须掌握的关键技能。 Hibernate的核心功能之一就是对象...
《Hibernate入门 - 第二版》是一本专注于Java领域持久化技术...提供的PDF文件“Apress.Beginning.Hibernate.2nd.Edition.2010.pdf”应该包含了上述所有内容的详细解释和实例演示,是学习Hibernate不可多得的参考资料。
【标题】:“学习hibernate必看ppt--总结的很全面” 这个标题表明这是一个关于Hibernate框架的综合学习资料,特别适合初学者或者需要深入理解Hibernate的开发者。它可能包含了一系列PPT,旨在全面概述Hibernate的...
该资源包含了四天的学习内容,分别是day01、day02、day03和day04,涵盖了从基础到高级的多个主题。以下是基于这些笔记的Hibernate框架相关知识点的详细解析: 1. **Hibernate概述**:Hibernate是一个开源的对象关系...
本章作为Hibernate学习的起点,旨在建立对ORM和Hibernate基本概念的理解,后续章节将进一步深入探讨关联映射、缓存机制、性能优化等高级主题。如果你对此感兴趣,可以继续关注后续的章节更新,深化对Hibernate的掌握...
**压缩包子文件的文件名称列表**:提供了两个同名的CHM文件,这通常是Windows的帮助文件格式,包含了丰富的可搜索内容,方便用户查找和学习Hibernate 3.2的相关信息。 综上所述,"Hibernate3.2参考文档"提供了全面...
"Hibernate"标签明确了讨论的主题,即Hibernate ORM框架。这个标签意味着我们将专注于了解Hibernate的核心概念,如对象持久化、事务管理、查询语言(HQL)等。 【压缩包子文件的文件名称列表】 "Hibernate_1"可能包含...
- **高级特性**:学习Hibernate的高级特性,如懒加载、延迟初始化、乐观锁和悲观锁等,以及如何利用这些特性解决并发控制和性能优化问题。 ### 学习资源 为了达到以上学习目标,建议参考以下资源: 1. **官方文档...
【标题】"HibernateTest:测试Hibernate库"是一个与Java编程相关的项目,主要目的是验证和学习Hibernate框架的使用。Hibernate是一个开源的对象关系映射(ORM)工具,它为Java开发者提供了强大的数据持久化功能,...
学习Hibernate不仅可以提升开发效率,也有助于理解ORM思想,为进行企业级Java应用开发打下坚实基础。通过深入学习和实践,你可以掌握如何利用Hibernate简化数据库操作,提升项目的开发质量和性能。
综上所述,《Hibernate 3.1.2Chinese.pdf》这份文档不仅包含了对Hibernate基本概念的详细介绍,还涉及了一些高级主题和实战案例,对于希望深入了解Hibernate并将其应用于实际项目的开发者来说是非常有价值的参考资料...
找到一手资料不易,这份源码对于研究和学习Hibernate的内部实现具有很高的价值。 【标签】中的"hibernate"是本次主题的核心,它是一个强大的ORM框架,通过提供对象-关系映射工具,简化了Java应用与数据库之间的交互...
9. **高级特性**:涵盖动态模型、多态性、集合元素类型、子查询、联合实体、继承策略等进阶主题,提升开发者对Hibernate的深入理解和运用能力。 10. **最佳实践与实战经验**:分享作者在实际项目中积累的Hibernate...
【标签】:“hibernate简单实例共6页”这个标签清晰地指出了文档的主题,强调了是关于Hibernate的实践案例,且内容精炼。Hibernate是一个流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来处理...
**标题解析:** “Hibernate3学习笔记(一)...以上是对“Hibernate3学习笔记(一)-hibernate概述和简单实例入门”可能涵盖的详细知识点的解读,每个主题都可以深入探讨,对于初学者来说,这些内容将构成一个良好的起点。
5. **查询语言(HQL)与Criteria API**:学习Hibernate提供的面向对象的查询语言HQL,以及Criteria API,替代传统的SQL,提高代码的可读性和可维护性。 6. **缓存机制**:了解Hibernate的缓存策略,包括一级缓存和...
“学习Hibernate的第二章”通常会涵盖以下核心主题: 1. **Hibernate环境配置**:在开始使用Hibernate之前,我们需要设置相关的环境,包括下载Hibernate库、添加依赖到项目中(对于Maven或Gradle项目)、配置...
通过对这些文件的深入学习,开发者不仅可以掌握Hibernate的基本用法,还能了解到其内在的工作原理,从而更好地优化数据库操作,提升系统性能。每个主题都需要深入研究,结合实际项目去实践,才能真正理解并掌握...
学习Hibernate的过程中,你可能会涉及以下主题: 1. **实体映射**:学习如何使用注解或XML配置文件建立Java类与数据库表的映射。 2. **检索数据**:掌握HQL和Criteria API,了解如何编写复杂的查询语句。 3. **关联...
这个系列涵盖了从基础到高级的多个主题,旨在帮助开发者全面理解并掌握Hibernate在实际项目中的应用。 【描述】:“非常全面的struts2和hibernate PPT笔记”是针对Java开发者的珍贵资料,它整合了8讲内容,不仅深入...