数据持久化

数据持久化

数据持久化是将内存中的数据转换为存储模型,以及存储模型转换为内存中的数据模型的统称。数据模型可以是任何数据结构或对象模型。存储模型可以使关系模型、XML、二进制流等。cmp和Hibernate只是对象模型到关系模型之间转换的不同实现。

作用:减少访问数据库的次数,当工程启动时,会读取数据库的数据(启动会慢点)到内存中。然后在后面的读取数据等操作就不用读取数据库了,而是读取内存中的内容,这回大大加快读取速度。但是如果修改了数据库参数要重新启动,或使用反推送更新内内存中的数据与数据库的数据一致。

数据持久化的基本操作有:保存、更新、删除、查询等。

Hibernate框架中数据持久化机制:
在业务程序与数据库之间,Hibernate框架使用Session会话,来完成数据的提交、更新、删除、查询等等。
1、向数据库提交数据
在程序中保存对象时,会把数据保存到Session会话中,然后根据框架的配置文件,自动或手动决定什么时候把这种保存提交到数据库。
2、从数据库中查询数据
在查询数据之前,需要清理缓存(手动清理,或者通过配置文件框架自动清理)清理缓存的目的是为了使Session会话中的数据与数据库中的数据保持一致。然后程序只需要查询Session会话中的数据即可。
总之,数据持久化是解决程序与数据库之间交互访问的问题,使程序不直接访问数据库,而是直接访问Session会话,然后由Session会话与数据库“打交道”。只要确保,程序每次访问Session中的数据时,与数据库中的数据保持一致,就不会出现错误。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106257.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mavlink无人机控制程序_无人机协同作战

    mavlink无人机控制程序_无人机协同作战1.MAVLink简介MAVLink(MicroAirVehicleLink,微型空中飞行器链路通讯协议)是无人飞行器与地面站(GroundControlStation,GCS)之间通讯,以及无人飞行器之间通讯最常用的协议。它已经在PX4、APM、PIXHAWK和ParrotAR.Drone飞控平台上进行了大量测试。2.发明者LorenzMeier简介MAVLink的…

    2022年8月15日
    10
  • 【计算机网络】常用网络命令

    【计算机网络】常用网络命令实验目的了解 ping ipconfig netstat tracert ARP route nslookup 等常用网络工具的功能以及使用方法 并通过这些工具发现或者验证网络中的故障

    2025年9月1日
    2
  • matlab资产组合最优配置_最优投资组合怎么确定

    matlab资产组合最优配置_最优投资组合怎么确定您所在位置:网站首页>海量文档&nbsp>&nbsp计算机&nbsp>&nbspmatlab基于MATLAB的最优投资组合问题.pdf3页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收…

    2025年7月11日
    3
  • 让 VAGRANT 启动并运行起来

    让 VAGRANT 启动并运行起来

    2021年11月7日
    39
  • Mysql on duplicate key update用法及优缺点

    Mysql on duplicate key update用法及优缺点

    2022年2月19日
    37
  • android 游戏引擎_最简单的游戏引擎

    android 游戏引擎_最简单的游戏引擎随着Android系统的使用越来越广泛,了解一下Android平台下的游戏引擎就非常有必要。而同时因为基于Intelx86的移动设备越来越多,我也非常关注支持x86的移动游戏引擎。然而就目前为止游戏引擎的数量已经非常之多,每个引擎都有不同的特征、价格、成熟度等。通过一些调研之后,我发现有非常多的游戏引擎可用于开发运行在android移动设备端的游戏,其中有些还支持x86系统,另外还有些通过简单的修

    2022年9月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号