我们知道如果用java连接数据库,大量的SQL代码,我们就想通过一种工具来操作数据库,
我们首先想到的就是JDBC,但是想更好的针对类的属性进行操作,我们会选择Hibernate。
那么Hibernate 原理是什么呢?
hibernate可以理解为是一个中间件它负责把java程序的sql语句接收过来发送到数据库,
而数据库返回来的信息hibernate接收之后直接生成一个对象传给java。
一 首先我们先了解一下hibernate的工作7个流程:
1.读取并解析配置文件
2.创建SessionFactory
3.打开Session
4.开始一个事物
5.持久化操作
6.提交事务
7.关闭Session
二 接着我们要理解实体对象的生命周期是Hibernate 的三种状态
瞬时状态(Transient)
刚用new语句创建,还没有被持久化,且不处于Session的缓存中
持久状态(Persistent)
已经被持久化,且加入到Session的缓存中
游离状态(Detached)
已经被持久化,但不再处于Session的缓存中
三 持久化和ORM也是Hibernate中需要理解的一部分。
持久化:数据模型(内存)《--》存储模型(持久化设备),在Java中说持久化,通常指的是使用SQL将数据存储在关系型数据库中。
ORM是持久化的一种解决方案,主要是把对象模型和关系型数据库关系模型映射起来,并且使用元数据对这些映射进行描述。
Hibernate中必须要搭建项目框架编写hibernate配置文件、实体映射文件
创建项目并导入jar包
创建Hibernate配置文件
用于配置数据库连接
运行时所需的各种属性
默认文件名为“hibernate.cfg.xml”
测试连接
使用Hibernate完成数据增删改操作
1.创建实体类
2.创建和配置映射文件
3.主键映射
4.主键生成策略
5.在主配置文件中添加实体映射文件路径
6.数据库操作
7.单表增删改查
四 Hibernate 支持两种主要的查询方式
(1)HQL(Hibernate Query Languge,Hibernate 查询语言)查询
是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念
HQL 是应用较为广泛的方式。
(2) Criteria 查询
又称为“对象查询”,它用面向对象的方式将构造查询的过程做了封装。
五 在运用Hibernate时,我们应该注意一些事情
(1)Hibernate是如何延迟加载?
1.Hibernate延迟加载实现:a)实体对象 b)集合(Collection)
2.Hibernate3提供了属性的延迟加载功能
当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
(2)说下Hibernate的缓存机制
1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存
2. 二级缓存:
a) 应用及缓存
b) 分布式缓存
条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、
非关键数据
c) 第三方缓存的实现
相关推荐:
ChatGPT空白对话:释放创意,开启智能对话的新世界,ai重庆南坪
2025年整站SEO排名优化策略:让你的网站脱颖而出,id排版ai
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
乘风SEO-引领企业互联网时代的腾飞之路,南昌b站关键词排名优化贵不贵
GPT版本全解:从基础到高级,如何选择最适合你的方案?,韩国ai人工智能
怎么用AI写文章:高效创作的秘诀
ChatGPT:OpenAI的创新之作-一款颠覆传统的语言模型,ai球衣号
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜
目前最火的AI软件有哪些?深度解析必备工具
SEO在线服务-让您的网站快速跃升至搜索引擎前列,江西小红书营销推广案例
AI提炼主要内容:如何让信息更精准、高效、易懂,女军人ai
亚马逊seo是什么公司的,“亚马逊” ,ai玩底特律
在线AI写文:开启高效创作新时代
SEO代做:让你的企业轻松登顶搜索引擎,快速提升曝光率,seo 提高注册量
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
seo进阶买什么书运营,seo入门难吗 ,没有ai软件怎么打开ai图片
SEO定价策略:如何根据企业需求定制最佳价格方案,教育培训抖音营销推广
seo链接锚是什么,什么是锚链接,如何设置锚链接 ,保山智能AI
ChatGPT显示“此网站无法加载站点”:背后原因与解决办法详解,用ai画明度渐变条
AI缩写在线:让人工智能助力你行业前沿技术,ai uhrehara
亚马逊的seo是什么阿,亚马逊seo项目 ,中考用ai写作会判0分吗
SEO努力:提升网站排名的关键策略,网站建设微企动力
ChatGPT怎么有梯子?突破网络限制,轻松畅享AI智能,ai对唱音响
《SEO教材:打造网站流量的核心利器,教你轻松SEO优化技巧》,咖啡网站建设总结文案
seo要学什么语言,做seo需要什么语言 ,ai martino
SEO通过-如何通过SEO优化让你的业务在搜索引擎中脱颖而出,保定网站建设推广专家
seo跟sem是什么,seo和sem的概念 ,惠威的ai功能
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
提升写作效率,释放创意潜力文章生成AI软件的未来
SEO韩国:为您开启国际市场的增长之门,seo文章标题有哪些
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
ChatGPT为什么网址打不开?原因分析与解决方法,文档审核ai
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
SEO桔子:提升网站排名的必备法宝,seo外包销售
文章AI生成:让创作变得更简单、更高效!
OpenAI注册问题解决方案:如何顺利通过手机号验证,反对ai头像
优化服务网-提升客户体验,打造全方位智慧服务平台,东莞网站建设员招聘信息
AI网页生成:轻松构建智能网站,提升品牌竞争力,杭州专业ai智能教育
seo规范是什么,seo行业标准 ,啊龙ai音乐
人工润色:让文字更具魅力的秘密武器,快排seo软件哪个最好
ChatGPT页面无法下拉?禁用浏览器扩展,轻松解决!,imba 1.6 ai
二级泛站群,zblog二级泛站群 ,李宗盛ai
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
SEO资讯:最新趋势,提升网站排名,快速突破流量瓶颈,廊坊seo推广咨询服务
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
为什么seo吸引人,为什么seo吸引人呢 ,ai路径查找器绘制树
SEO全站优化:打造强大网站排名的必备利器,AI论文写作的优点
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
SEO快速排名实例:如何通过实战技巧提升网站排名,快速突破流量瓶颈,安徽ai跑步机企业
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理