1. ORM框架
ORM:对象关系映射(Object Relation Mapping),指将java对象状态自动映射到关系数据库中数据上,从而提供透明化的持久化支持,即把一种形式转化为另一种形式。
① 关系数据库首先不支持面向对象技术如:继承、多态,如何使关系数据库支持它们;
② 关系数据库是由表来存放数据,而面向对象使用对象来存放状态,其中表的列称为属性,因此需要解决这种不匹配;
③ 如何将对象透明的持久化到关系数据库表中;
④ 如果一个对象存在横跨多个表的数据,应该如何为对象建模和映射。
除了这些阻抗失配,还有如何将sql集合函数结果集映射到对象,如何在对象中处理主键等。
ORM框架就是用来解决这种阻抗失配,提供关系数据库的对象化支持。
ORM框架不是万能的,同样符合80/20法则,应解决的最核心问题是如何对数据库表中的行和对象进行映射,并自动持久化对象到关系数据库。
ORM解决方案适用于解决透明持久化,小结果集查询等;对于复杂查询,大结果集数据处理还是没有任何帮助。
目前已有的ORM框架,如Hibernate、JDO、JPA、IBATIS等等,这些ORM框架各有特色,Spring对这些ORM框架提供了支持。