##ORM介绍
ORM的全称是:Object Relation Mapping,意思是:对象关系映射,用于在关系型数据库和业务实体对象之间做一个映射。sql
从效果上说,它实际上是建立了一个可在编程语言里使用的“虚拟对象数据库”。说白了就是把关系型数据库封装成业务实体对象,这样,咱们在具体的操做业务对象的时候,就不须要再去和复杂的SQL语句打交道,只需简单的操做对象的属性和方法。数据库
ORM的出现是因为面向对象的大潮,创做者但愿对数据库的操做也使用面向对象,从而避免对sql的繁琐操做。apache
ORM的优势:
ORM最大的优点,隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得咱们的通用数据库交互变得简单易行,而且彻底不用考虑该死的SQL语句。快速开发,由此而来。编程
ORM的缺点:ORM有两大显著缺点
1,性能较低。无可避免的,自动化意味着映射和关联管理,代价是牺牲性能(早期,这是全部不喜欢ORM人的共同点)。如今的各类ORM框架都在尝试使用各类方法来减轻这块(LazyLoad,Cache),效果仍是很显著的。
2,对多表查询力不从心。 app
##JPA介绍
JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。框架
JPA的实现思想便是ORM。编程语言
JPA并非一种框架,而是一类框架的总称,基于ORM思想实现的框架都称为JPA框架。性能
目前经常使用的JPA框架有:对象
Hibernate(JBoos开源)
Open JPA(apache开源)
Spring Data JPA(Spring框架中的子模块)
EclipseLink(由Oracle提供,后捐献给了Eclipse社区)
Toplink
注:JPA框架底层都是ORM思想,其框架具备ORM所有的优缺点。
ip