Java-持久化的理解

一、什么是持久化
在《精通 Hibernate:Java 对象持久化技术详解(第2版)》中看到过一个很好的解释

狭义的理解,“持久化”仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。

保存:把域对象永久保存到数据库中。
更新:更新数据库中域对象的状态。
删除:从数据库中删除一个域对象。
加载:根据特定的OID,把一个域对象从数据库加载到内存中。
查询:根据特定的查询条件,把符合查询条件的一个或多个域对象从数据库加载到内存中。

如图,截自《精通 Hibernate:Java 对象持久化技术详解(第2版)》
Java-持久化的理解_第1张图片

二、为什么要持久化

1、内存的缺陷,内存过于昂贵,内存的容量限制,所以需要持久化缓存到外存
2、代码重用性高,持久化封装了数据访问细节,提供面向对象的API
3、松耦合性,持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库只需修改配置文件,少量的代码修改

三、持久化的实现

1、Hibernate
为应用程序提供了高效的O/R关系映射和查询服务,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

2、JPA(Java Persistense API)
是EJB3.0的一部分,为其提供了一套O/R关系映射的API,但不仅限于EJB中使用,它也可以在web应用或者应用程序客户端中被使用。

3、Mybatis
是一种orm框架,它支持定制化 SQL、存储过程以及高级映射。

文章仅作为个人学习整理

你可能感兴趣的:(Java)