Hibernate等ORM使用之道
转载地址:http://www.jdon.com/jivejdon/thread/31684
ORM实际是Object --> Relation映射,关键是Object,首先自己要树立使用对象分析设计程序的习惯,对象在哪里生存?对象在计算机内存中生存,对象也可能变型睡在数据库中,当对象需要变形睡到数据库中时,就需要ORM框架这个魔法师来帮忙。
因为对象可以变形睡到数据库中,这样,虽然计算机系统关机了,但是对象就可以活得很长很长,下次计算机开机又可以活过来,这就叫持久活着(就是万岁,长生不老,除非磁盘坏了),ORM是解决对象如何持久的框架,或称持久化框架。
学习ORM框架等Hibernate前,我们可能学习过数据库,这时一定不能先在脑子有数据表结构,然后再想如何用Hibernate,这就倒过来用了,倒着用一个工具怎么可能用好呢?就象用剪刀,你握住的是不是把手,是刀口,能不伤害自己,能不感到痛苦吗?
所以,首先要有对象分析和设计(例如学习Evans DDD),再使用Hibernate解决对象长寿问题,使用ORM框架就是纯粹技术层面的细节活,就像建筑装潢,首先要有设计,然后才是使用什么工具和材料的事情。
学习Hibernate需要从对象开始入手,而不是数据表,忘记数据表细节。对象关系和数据库之间存在的阻抗,可以通过Hibernate配置设置来实现。从另外一个方面说:使用Hibernate需要相当的设计功底,而非传统的数据库功底,如果你没有这个功底,会误用Hibernate,反而是一种损害。
使用Hibernate就不是使用数据库在编程,而是对象语言。