ORM 的入门好书--评《Begining Hibernate》
很多年以前就听说过 Hibernate,在我短暂的使用 Java 的那几个月当中。
在回归了 Microsoft 阵营之后,这个名词已经渐渐模糊了,倒是经常有 ORM 在耳边的萦绕。前两年,看了一些关于 ORM 的介绍后,也曾尝试使用 .NET 的相关技术实现了一个自己的框架。那时,曾以为自己了解 ORM 了,直到和架构师成了邻居后,我才发现,从一个 Coder 的角度,是无法真正理解 ORM 的。如果能够不必写 INSERT UPDATE DELETE 就是 ORM 的话,Microsoft 的 DataSet + DataAdapter 已经足够了!
那么,什么是 ORM?
架构师和我说,在使用 OOD 设计时会出现与 DB 设计“不匹配”的情况,此时正是使用 ORM 产品的最好时机。因为,如果自己动手解决这样的不匹配,成本太高了。如果仅仅使用实体映射,随便写个小东东就能实现了。
听了架构师的一番话后,我知道了,ORM 的使用是设计层面的决策。如果设计不是 OO 的,大可不必使用 ORM。当然,可能也会有朋友用报表、多表查询等来否定 ORM 的。可是,你的攻击选错了方向。
按照部门老大的要求,项目中必须要使用 NHibernate,尽管这个 Team 用 NH 已经几年了,可是我仍然觉得有必要系统的学习一下。可市面上没有关于 NH 的书,最好只能找本 Hibernate 的收来读。
在书店转了半天,最后选择了这本薄薄的小书,我通读之后,我可以负责任的告诉大家,这是一本入门的好书。之所以这样说,是因为我听了架构帅的一席话后,对 ORM 有了大方面的正确认识,而这本书在细节方面给予了我初步的指导。
阅读本书时,我跳过了 EJB3 和 Notation 的章节,关于 XML 配置部分只浏览一下,没有过多关注细节。仔细阅读了:持久化生命周期、映射、会话、搜索和查询相关章节。
对了,不知道什么时候能出《Pro Hibernate》的中译本,期待ing
PS:这段文字首发于 douban