一.hibernate中的实体规则 1.实体类创建的注意事项 2.主键类型 3.主键生成策略 (1)代理主键 (2)自然主键 二.hibernate中的对象状态 1.对象分为三种状态 2.三种状态的转换图 三.hibernate进阶-一级缓存 1.缓存:提高效率.hibernate中的一级缓存也是为了提高操作数据库的效率. 2.提高效率手段1:提高查询效率 3.提高效率手段2:减少不必要的修改语句发送…
一.持久化类 1.1 什么是持久化类? Hibernate是持久层的ORM映射框架,专注于数据的持久化工作.所谓的持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么是持久化,什么又是持久化类呢?其实所谓的持久化类知道是一个Java类与数据库表建立了映射关系,那么这个类称为是持久化类.其实你可以简单的理解为持久化类就是一个Java类有了一个映射文件与数据库的表建立了关系.那么我们编写持久化类的时候有哪些要求呢? 1.2 持久化类的编写规则 我们在编写持久化类的时候需要有一下几点需要…
Hibernate_day02 上节内容 今天内容 实体类编写规则 Hibernate主键生成策略 实体类操作 对实体类crud操作 添加操作 根据id查询 修改操作 删除操作 实体类对象状态(概念) Hibernate的一级缓存 什么是缓存 Hibernate缓存 验证一级缓存存在 Hibernate一级缓存执行过程 Hibernate一级缓存特性 Hibernate事务操作 事务相关概念 Hibernate事务代码规范写法 Hibernate绑定session Hibernate的api使用…
1.对象状态 1.1   状态介绍 hibernate 规定三种状态:瞬时态.持久态.脱管态 瞬时态:transient,session没有缓存对象,数据库也没有对应记录.没有与hibernate关联,与数据库中的记录没有产生关联. OID特点:没有值 持久态:persistent,session缓存对象,数据库最终会有记录.(事务没有提交)与hibernate关联,对象有id OID特点:有值 脱管态:detached,session没有缓存对象,数据库有记录.没有与hibernate关联,对…
前言 本博文主要讲解Hibernate的细节-->对象的状态和一级缓存- 对象状态 Hibernate中对象的状态: - 临时/瞬时状态 - 持久化状态 - 游离状态 学习Hibernate的对象状态是为了更清晰地知道Hibernate的设计思想,以及是一级缓存的基础-当然啦,也就一点点知识 临时/瞬时状态 当我们直接new出来的对象就是临时/瞬时状态的.. 该对象还没有被持久化[没有保存在数据库中] 不受Session的管理 持久化状态 当保存在数据库中的对象就是持久化状态了 当调用sessi…
Hibernate中的三种数据状态(临时.持久.游离) 1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态. 比如:刚刚使用new关键字创建出的对象. 2.持久态 存在于session中,事务还未提交,提交之后最终会进入数据库的数据,被称为持久态. 比如:刚刚使用session.save()操作的对象. 3.游离态(脱管态) 存在于数据库中,但不存在于session中的数据,被称为游离态. 比如:使用了session.save(),并且事务已经提交之后,对象进…
Hibernate中的三种数据状态:临时.持久.游离 1.临时态(瞬时态) 不存在于session中,也不存在于数据库中的数据,被称为临时态. 数据库中没有数据与之对应,超过作用域会被JVM垃圾回收器回收,一般是new出来且与session没有关联的对象. 比如:刚刚使用new关键字创建出的对象. 2.持久态 存在于session中,事务还未提交,提交之后最终会进入数据库的数据,被称为持久态. 数据库中有数据与之对应,当前与session有关联,并且相关联的session没有关闭,事务没有提交:…
Hibernate中创建实体 创建实体五个基本规则 --提供无参的构造器 --成员变量的私有化,提供get.set方法,提供属性 --尽量使用包装类型 --主键(一定要有) --不要加final(hibernate中使用代理机制) 无参构造器 一.概念 java中构造方法指的是: 与类名相同,无返回类型的方法,参数可以为空,也可以带参数. 比如一个 Dao 类,private Dao(){}这个就是无参数的构造方法. private Dao(String name){}这个就是带参数的构造方法.…
目录 0. 结构图 1. 持久化类的编写规则 1.1 持久化和持久化类 1.2 持久化类的编写规则 2. 主键生成策略 2.1 主键的分类 2.2 主键生成策略 3. 持久化类的三种状态[了解] 3.1 持久化类的三种状态 3.2区分三种持久化状态 3.3 持久化的三种状态的转换 3.3.1 持久态的三种状态转换图 3.3.2 瞬时态对象 3.3.3 持久态 3.3.4 托管态对象 3.3.5 持久态对象的特性 4. Hibernate的一级缓存 4.1 缓存概述 4.2 hibernate的缓…
opensession与currentsession的联系与区别 在同一个线程中opensession的session是不一样的,而currentsession获取的session是一样的,这就保证了线程的安全性.当然想要后者的session需要在配置文件中手动配置,另外我们可以写一个工具类来获得后者的session. get vs load 如果查询不到数据,get会会返回null但是不会报错 若果load查询不到数据,则会报错 get立即向db发送请求 ,如果你使用的是load查询数据,即使…