持久化类:

持久化:将内存中的一个对象持久化到数据库中的过程。hibernate是持久层的ORM框架

持久化类:java中的一个对象和数据库表建立了映射关系,就可以称为持久化类,java类+映射文件。

持久化类的3种状态

1、瞬时态

这种对象没有标识OID,没有session管理

2、持久态

有标识OID,有session管理

3、托管态

有标识OID,没有被session管理

主键的分类


1、自然主键

主键本身就是表中一个字段。例如:一个人员表,可以用身份证来做主键,这种称为自然主键。

2、代理主键

主键不是表中必须得主键,例如:一个人员表,用uuid来做主键,不用身份证号做主键,用一个和这个表没有关系的字段,这种称为代理主键。

在实际开发中,尽量使用代理主键

主键生成策略

increment:hibernate提供的自动增长机制,适用shot,int,long类型做主键,适合单线程

identity:适用shot,int,long类型做主键,使用关系型数据库自动增长机制,例如myslq,不适用oracle

sequence:适用shot,int,long类型做主键,采用序列方式,支持oracle

uuid:使用字符串主键,hibernate自动生成随机主键

native:在indentiysequence2种策略直接自行切换

assigned:hibernat放弃管理主键,需要手动设置主键

一级缓存


hibernate提供了一级缓存,二级缓存。

一级缓存自动配置,二级需要手动配置

一级缓存是session级别的缓存,和session的声明周期一致。

一级缓存特殊区域:快照区

当要提交事务的时候,一级缓存会和快照区对比一下是否一致,如果不一致自动提交数据更新数据,一致的话不会更新数据。

事务

指逻辑上的一组操作,组成这个逻辑的单元要么全部成功,要么全部失败

特性:

原子性:事务不可再分割

一致性:事务完成前后,数据保持一致

隔离性:事务在执行过程中,不应该受到其他事务的干扰

持久性:事务执行完成后,数据就持久到数据库中。

转载于:https://www.cnblogs.com/wangrongchen/p/11437467.html

Hibernate学习(二)持久化类,主键生成策略、一级缓存、事务相关推荐

  1. Hibernate——(3)主键生成策略持久化类的三种状态

    一 持久化类 1.持久化:内存对象--->数据库(硬盘)Hibernate持久化的框架 持久化类:Java对象与数据库中的表建立映射关系            Hibernate就称为持久化类( ...

  2. Hibernate持久化类与主键生成策略

    Hibernate持久化类 什么是持久化类? Persistent Object (PO) PO=POJO+hbm映射配置 对于hibernate中的PO编写规则: 1. 必须提供一个无参数的publ ...

  3. (转) Hibernate持久化类与主键生成策略

    http://blog.csdn.net/yerenyuan_pku/article/details/65462930 Hibernate持久化类 什么是持久化类呢?在Hibernate中持久化类的英 ...

  4. hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等...

    核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Conf ...

  5. hibernate之主键生成策略

    一.主键类型 1.自然主键(主键本身就是表中的一个字段,实体中一个具体的属性) 表中已经具有某字段,并且该字段具有业务含义作为主键,称之为自然主键. 例如:在person表中的身份证号,既是唯一的,又 ...

  6. 基于按annotation的hibernate主键生成策略

    这里讨论代理主键,业务主键(比如说复合键等)这里不讨论. 一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id ...

  7. jpa基于按annotation的hibernate主键生成策略

    JPA注解持久化类很方便,需要jar包:ejb3-persistence.jar下载 一.JPA通用策略生成器  通过annotation来映射hibernate实体的,基于annotation的hi ...

  8. JavaEE持久层框架对比与hibernate主键生成策略总结

    一.持久层框架对比 ORM框架:即对象关系映射.它把数据库表映射到pojo类,然后通过对类的操作来实现对数据库的增删改查,sql语句自动生成. 对于代码开发者来说,就是在代码里先创建数据库连接对象,然 ...

  9. hibernate 7大主键生成策略详解与对象状态

    一:代理主键_主键自增 1.identity 1.采用底层数据库本身提供的主键生成标识符,条件是数据库支持自动增长数据类型 2.该生成器要求在数据库中把主键定义成为自增长类型.适用于代理主键 2.in ...

最新文章

  1. 如何在Windows中安装Python?
  2. 团队行为心理学读书笔记(7)团队激励背后的行为心理学
  3. 初次接触GWT,知识点总括
  4. 域 正在应用计算机设置,入域的时候卡在”正在应用计算机设置”持续了好几分钟...
  5. java 抛出空指针_java - Java ServerSocket抛出空指针异常 - 堆栈内存溢出
  6. 意外的服务器响应pdf,服务器安全(安骑士).pdf
  7. python游戏设计毕业论文_游戏设计游戏策划毕业论文
  8. 设备商网管软件定制开发案例分析
  9. enterprise architect 小实验
  10. Java 已知直角三角形周长,求整数边
  11. 记一次奇怪的网络问题
  12. Linux 命令 | 常用命令之 cut
  13. ZooKeeper 的 Watch 机制是什么?
  14. 放弃蚂蚁offer,选择农行软开!
  15. SNMP协议——网络管理概述
  16. 云计算大数据时代IT管理的机遇和挑战
  17. 可能是最全的人工智能入门书单(附PDF链接)
  18. 阿里云服务器绑定域名,阿里云esc绑定域名,阿里云域名备案
  19. C++实现简易图书馆管理系统
  20. Needleman–Wunsch algorithm

热门文章

  1. python中素数怎么求_用python怎么求素数
  2. 利用dao传值给mysql_koa+mysql+vue+socket.io全栈开发之数据访问篇
  3. mysql索引机制_mysql索引原理详解
  4. java 8 jre_Java 8——JAVA jre运行环境
  5. php裁剪图片白边,php生成缩略图自动填充白边例子
  6. Docker 学习4 Docker容器虚拟化网络概述
  7. 8、SpringBoot+Mybatis整合------参数取值方式
  8. Collections常用方法总结
  9. 六度人和张星亮:SaaS市场要回归TO B本质
  10. shell中lsort,uniq,cut,wc,seq命令使用