【第八章】 对ORM的支持 之 8.1 概述 ——跟我学spring3
2016-05-12 17:02
429 查看
转自:http://sishuok.com/forum/blogPost/list/2495.html
8.1 概述
8.1.1 ORM框架
ORM全称对象关系映射(Object/Relation Mapping),指将Java对象状态自动映射到关系数据库中的数据上,从而提供透明化的持久化支持,即把一种形式转化为另一种形式。对象与关系数据库之间是不匹配,我们把这种不匹配称为阻抗失配,主要表现在:
关系数据库首先不支持面向对象技术如继承、多态,如何使关系数据库支持它们;
关系数据库是由表来存放数据,而面向对象使用对象来存放状态;其中表的列称为属性,而对象的属性就是属性,因此需要通过解决这种不匹配;
如何将对象透明的持久化到关系数据库表中;
如果一个对象存在横跨多个表的数据,应该如何为对象建模和映射。
其中这些阻抗失配只是其中的一小部分,比如还有如何将SQL集合函数结果集映射到对象,如何在对象中处理主键等。
ORM框架就是用来解决这种阻抗失配,提供关系数据库的对象化支持。
ORM框架不是万能的,同样符合80/20法则,应解决的最核心问题是如何在关系数据库表中的行和对象进行映射,并自动持久化对象到关系数据库。
ORM解决方案适用于解决透明持久化、小结果集查询等;对于复杂查询,大结果集数据处理还是没有任何帮助的。
目前已经有许多ORM框架产生,如Hibernate、JDO、JPA、iBATIS等等,这些ORM框架各有特色,Spring对这些ORM框架提供了很好的支持,接下来首先让我们看一下Spring如何支持这些ORM框架。
8.1.2 Spring对ORM的支持
Spring对ORM的支持主要表现在以下方面:一致的异常体系结构,对第三方ORM框架抛出的专有异常进行包装,从而在使我们在Spring中只看到DataAccessException异常体系;
一致的DAO抽象支持:提供类似与JdbcSupport的DAO支持类HibernateDaoSupport,使用HibernateTemplate模板类来简化常用操作,HibernateTemplate提供回调接口来支持复杂操作;
Spring事务管理:Spring对所有数据访问提供一致的事务管理,通过配置方式,简化事务管理。
Spring还在测试、数据源管理方面提供支持,从而允许方便测试,简化数据源使用。
接下来让我们学习一下Spring如何集成ORM框架—Hibernate。
相关文章推荐
- SpringMVC返回json数据的配置方式
- 解决Eclipse打开图片乱码问题
- Java基础之编码转换
- eclipse出现configure build path的错误
- Spring记录之模拟IoC(三)
- Java系统中,使用log4j2,再引入Kafka依赖后,出现log dependency警告的解决
- Java_过滤字符串中非汉子的内容
- java解决几种情况下的中文乱码问题
- java中的System.arraycopy方法
- Spring jdbcTemplate之决不回滚解决方案
- Java基础之编码详解(1)
- springmvc快速浏览入门
- [原创]java WEB学习笔记02:javaWeb开发的目录结构
- 关于Spring整合Quartz,以及对quartz的理解
- Java第六次实验
- MAVEN在eclipse(kepler)里的安装配置
- 【JDK】:HashMap详解
- Java并发编程:剖析ThreadLocal
- 消费者端的Spring JMS 连接ActiveMQ接收生产者Oozie Server发送的Oozie作业执行结果
- java读取properties文件