##ORM介绍
ORM的全称是:Object Relation Mapping,意思是:对象关系映射,用于在关系型数据库和业务实体对象之间作一个映射。
从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。说白了就是把关系型数据库封装成业务实体对象,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。
ORM的出现是由于面向对象的大潮,创作者希望对数据库的操作也使用面向对象,从而避免对sql的繁琐操作。
ORM的优点:
ORM最大的优势,隐藏了数据访问细节,“封闭”的通用数据库交互,ORM的核心。他使得我们的通用数据库交互变得简单易行,并且完全不用考虑该死的SQL语句。快速开发,由此而来。
ORM的缺点:ORM有两大显著缺点
1,性能较低。无可避免的,自动化意味着映射和关联管理,代价是牺牲性能(早期,这是所有不喜欢ORM人的共同点)。现在的各种ORM框架都在尝试使用各种方法来减轻这块(LazyLoad,Cache),效果还是很显著的。
2,对多表查询力不从心。
##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全部的优缺点。