精通Hibernate 读后

一段时间以来,忙活着个人的道路选择问题,身心俱疲。工作上的事还非常的多,我应接这些事的心态也变得微妙起来,反而倒比原来干得更多了些。

这两天才开始有点时间给自己充电,拿到一本《精通hibernate》-孙卫琴,读了六章。 孙 老师这本书在Hibernate上把OR mapping的技术来源、解决方案、实作(台湾术语 :§ )方法都交待的非常清楚,无论是学习还是参考,都很有购买价值。

我对讲述OR mapping技术有一个看法:Mapping不仅是持久化对象和数据库表、视图等对象之间的实体映射,还包含有从持久化对象网中访问数据的方式到从数据库对象链中访问数据的方式之间的映射,抽象点说,从对象中取出属性值与从表中取出记录字段的思路是完全不同的,存在一个算法的映射。JavaPL/SQL都使用的程序员会对这个问题有更深的感触。一般讲到OR mapping,好像对实体映射讲得多一点,算法映射少一点。

其实,更亲切点说是不同编程习惯的映射。

Java程序员如果想知道Jordan家的月收入,就会从JordanFamily对象开始,找到获得所有的Member对象的方法;对每个Member对象,计算从事若干个Job的总Salary;最后把他们加在一起。

数据库DBA如果想知道Jordan家的月收入,就会把Family、和sumSalary)字段写入SELECT子句,把FamilyListJobs表及其相关联的表Person表写入FROM子句,把表与表之间关联字段构成的链写入WHERE子句(‘Jordon’=FamilyList.FirstName and FamilyList.ID=Person.FamilyID and Person.ID=Jobs.PersonID -- to get Jobs.Salary)

集合操作是 SQL 的优势,元素操作是面向对象语言的优势。它们一起使用时造成的不匹配是 OR mapping 技术存在和发展的原因。最好对两者都有一定的了解后,再来进入 OR mapping 教室学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值