分享web开发知识

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

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

Hibernate总结2

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

1.Hibernate持久化类的编写规则

持久化就是将内存中的数据永久存储到关系型数据库中,持久化类指一个java 类与数据库建立了映射关系,这个类就叫做持久化类

持久化类的编写有如下规则

  • 持久化类需要提供一个无参的构造方法
  • 持久化类的属性需要是私有的,对私有属性提供get和set方法
  • 持久化类的属性要尽量使用包装类的类型
  • 持久化类要有一个唯一标识的OID 与表的主键对应
  • 持久化类尽量不要使用final进行修饰

2.Hibernate主键生成策略

3.Hibernate的持久化对象的三种状态

3.1 持久化对象三种状态的概述

1.瞬时态:瞬时态的实例是由new命令创建、开辟内存空间对象,不存在持久化标识OID,尚未与Hibernate Session关联

2.持久态:存在持久化标识OID,加到Session缓冲中,并且相关联的Session没有关闭,在数据库中有对应的记录

3.托管态:存在持久化标识OID,并且仍然与数据库中的数据存在关联,只是失去了与当前Session的关联

3.2 持久化对象三种状态的转换

4.hibernate的一级缓存

hibernate的一级缓存就是Session缓存,Session缓存是一块内存空间,用来存放相互管理的Java对象,Hibernate的一级缓存的作用就是减少数据库的访问次数

Hibernate的一级缓存特点

  • 当应用程序调用Session接口的save(),update(),saveOrUpdate()时,如果Session缓存中没有相对应的对象,Hibernate就会自动的把从数据库查询到的相应对象的信息加入到一级缓存中
  • 当调用Session接口的load(),get()方法时,以及Query接口的list(),iterator()方法时,会判断缓存中是否存在该对象,有则返回,不会查询数据库,如果缓存中没有要查询的对象,在到数据库中查询相应的对象,并添加到一级缓存中
  • 当Session调用close()方法时,Session缓存会被清空

Hibernate总结2

原文地址:https://www.cnblogs.com/QQ1171492144/p/10541676.html

知识推荐

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