ORM(Object Relational Mapping)
概念
ORM(Object Relational Mapping):对象关系映射,是一种设计思想,是为了解决面向对象与关系数据库存在的互不匹配的现象。ORM通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。
作用
主要解决对象关系的映射
- 会自动将一个持久化类对应一个数据库表
- 每一个实体类实例对应表中的一条记录(一行)
- 类中的每个属性对应表中的每个字段
缺点
虽然提高了开发效率,但是由于将对象所有属性持久化,就大大消耗了内存。并且,因为SQL是ORM自己生成的,一般不会写出很高效的算法,这样就降低了性能。
了解JPA(Java Persistence API)
JPA是什么
JPA(Java Persistence API):java持久化API,是ORM框架的一种规范,标准,接口。用于管理javaEE和javaSE环境中的持久化,以及对象/关系映射的javaAPI。
JPA是一套实现ORM理论的接口,没有实现代码。
JPA框架(实现者)
Hibernate (JBoos)、EclipseTop(Eclipse社区)、OpenJPA (Apache基金会)。
JPA作用
通过JPA框架,实现使用对象操作数据库,不用写SQL语句。
DTO(Data Transfer Object)
概念
DTO(Data Transfer Object):数据传输对象,是将数据封装成简单的javaBean对象,是一种MVC架构中的Model,但DTO不同于普通的JavaBean对象,普通的JavaBean是包含所有信息,而DTO是只存在业务所需要的信息。
DTO与数据库关系
一个DTO --》 一个虚拟表
DTO运用在ORM中时,一般是与数据库的虚拟表一样,是一种临时的JavaBean。
DTO类中存放的业务字段,都是需要进行实际展示或使用的字段。因为原本对应表的实体类中,存放了大量信息,而有些信息我们不需要使用操作时,我们就可以将需要的字段封装成一个DTO作为虚拟表对应的javaBean。
-
这样我们就减少了请求次数,大大提高了数据交互的效率。
-
避免传输整个表的字段,一定程度上提高了安全性。
对象的三大状态
对象存在的三大状态有:瞬时态、持久态、游离态(托管态)
瞬时态(transient)
瞬时态:是从未与任何持久化上下文关联过的状态,当刚new出来一个新对象,还没有保存在数据库或session缓存中不存在该对象时,就是瞬时态。
持久态(persistent)
持久态:对象实例与持久化上下文有关联,在数据库中有对应的表记录,或者在session缓存中存在该对象实例时,就是持久态。
游离态(detached)
游离态(托管态):对象曾存在于session缓存中,但当session关闭后,对象的状态就变成了游离态。
本文介绍了ORM的概念及其作用,强调它解决了对象与关系数据库之间的映射问题,同时讨论了其可能导致的性能下降。接着解释了JPA(Java Persistence API)作为ORM规范的角色,并列举了几个JPA的实现框架。还探讨了DTO(Data Transfer Object)在数据传输中的作用,以及如何通过DTO优化数据交互。最后,详细阐述了对象的三大状态:瞬时态、持久态和游离态。
1760

被折叠的 条评论
为什么被折叠?



