Java-持久化的理解

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

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

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

如图,截自《精通 Hibernate:Java 对象持久化技术详解(第2版)》
在这里插入图片描述

二、为什么要持久化

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

三、持久化的实现

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

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

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

文章仅作为个人学习整理

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值