数据持久化

数据持久化

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

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

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

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

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

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

(0)
上一篇 2021年7月19日 下午9:00
下一篇 2021年7月19日 下午10:00


相关推荐

  • Java数字与字符串的转换

    Java数字与字符串的转换1 数字转字符串方法 1 使用 String 类的静态方法 valueOf 方法 2 先把基本类型装箱为对象 然后调用对象的 toString2 字符串转数字调用 Integer 的静态方法 parseInt

    2025年9月22日
    6
  • ‘builtin_function_or_method’ object is not subscriptable 错误

    ‘builtin_function_or_method’ object is not subscriptable 错误环境:Numpy问题:数组初始化报错错误❌:a=np.array[1,2,3,4,5,6,7,8,9,10]正确✅:a=np.array([1,2,3,4,5,6,7,8,9,10])这个问题一般是问题行内有圆括号缺失或者方括号的缺失。…

    2025年7月21日
    4
  • 23 种设计模式详解(全23种)

    23 种设计模式详解(全23种)设计模式的分类总体来说设计模式分为三大类 创建型模式 共五种 工厂方法模式 抽象工厂模式 单例模式 建造者模式 原型模式 结构型模式 共七种 适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式 行为型模式 共十一种 策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式 备忘录模式 状态模式 访问者模式 中介者模式 解释器模式 A 创建

    2026年3月20日
    2
  • python中返回上一步操作的代码_Pycharm代码跳转后退回操作详解

    python中返回上一步操作的代码_Pycharm代码跳转后退回操作详解用 Pycharm 写 Python 代码有一段时间了 最近发现了一个 Pycharm 的一个小技巧想分享给大家 下面这篇文章主要给大家介绍了关于 Pycharm 代码跳转该如何回退的相关资料 文中介绍的非常详细 对大家具有一定的参考学习价值 需要的朋友们下面来一起看看吧 背景最近玩 Python 已经有段时间了 一般都是通过 vim 和 Pycharm 来开发 真心觉得这两个是神器 Vim 神器暂且不说 今天来分享 P

    2026年3月27日
    2
  • dlv golang调试

    dlv golang调试golangdlv 调试

    2026年3月19日
    2
  • java jedis sadd_Java Pipeline.sadd方法代碼示例

    java jedis sadd_Java Pipeline.sadd方法代碼示例importredis clients jedis Pipeline 導入方法依賴的 package 包 類 Storeatrigge paramtrigger paramreplace

    2026年3月17日
    3

发表回复

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

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