分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

hibernate的获取session的两方法比较,和通过id获取对象的比较,一级缓存二级缓存

发布时间:2023-09-06 02:17责任编辑:郭大石关键词:缓存

opensession与currentsession的联系与区别

在同一个线程中opensession的session是不一样的,而currentsession获取的session是一样的,这就保证了线程的安全性。当然想要后者的session需要在配置文件中手动配置,另外我们可以写一个工具类来获得后者的session。

get vs load

如果查询不到数据,get会会返回null但是不会报错 若果load查询不到数据,则会报错

get立即向db发送请求 ,如果你使用的是load查询数据,即使查询到对象,返回的是一个代理对象如果没有使用查询结果,他不会真的向数据库发请求,当程序员使用查询结果时才真的发出select,这个现象称为懒加载。

一级缓存/二级缓存

一级:sessionFactory二级:内存或者文件中:
例如load--------------》session缓存(查询)(必须用)----------》二级缓存(查询)----------》最后在到数据库中去查询查询,多次的将依次被放入到二级缓存 一级缓存

这样做减小了对数据库的访问,提高了工程运行的效率。

hibernate的获取session的两方法比较,和通过id获取对象的比较,一级缓存二级缓存

原文地址:https://www.cnblogs.com/zhongyimeng/p/9750001.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved