码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate总结2

时间:2019-03-16 12:35:07      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:构造方法   数据库查询   返回   方法   list()   缓冲   编写   nal   接口   

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

标签:构造方法   数据库查询   返回   方法   list()   缓冲   编写   nal   接口   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!