zoukankan      html  css  js  c++  java
  • Hibernate总结2

    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缓存会被清空
  • 相关阅读:
    Python NLPIR(中科院汉语分词系统)的使用 十五分钟快速入门与完全掌握
    Python NLPIR(中科院汉语分词系统)的使用 十五分钟快速入门与完全掌握
    源码:我的关于NLP的博客(持续更新中...)
    源码:我的关于NLP的博客(持续更新中...)
    orm功能封装
    元类
    事件,存储
    索引
    mysql课外积累
    day35作业
  • 原文地址:https://www.cnblogs.com/QQ1171492144/p/10541676.html
Copyright © 2011-2022 走看看