一、 Hibernate主键策略

主键:在关系数据库中,主键用来标识记录并保证每条记录的唯一性(一般可保证全数据库唯一)。必须满足以下条件: 1)不允许为空。 2)不允许主键值重复。  3)主键值不允许改变。

1.自然主键:以有业务含义的字段为主键,称为自然主键。
        优点:不用额外的字段。
        缺点:当业务需求发生变化时,必须修改数据类型,修改表的主键,增加了维护数据库的难度。
    2.代理主键:增加一个额外的没有任何业务含义的一般被命名为ID的字段作为主键。
        缺点:增加了额外字段,占用部分存储空间。
        优点:提高了数据库设计的灵活性。
    Hibernate用对象标识(OID)来区分对象:
             Student stu = (Student)session.load(Student.class,101); //这代码加载了OID为101的Student对象
    Hibernate推荐使用代理主键,因此Hibernate的OID与代理主键对应,一般采用整数型,包括:short、int、long。

1、主键生成策略: (Hibernate支持多种主键生成策略)

generator节点中class属性的值:
      1) assigned:assigned:由用户自定义ID,无需Hibernate或数据库参与。
         是<generator>元素没有指定时的默认生成策略。
           <id name="id" column="id"&

Hibernate第三讲:Hibernate主键策略和Hibernate的查询方案相关推荐

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

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

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

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

  3. (转)Hibernate框架基础——映射主键属性

    http://blog.csdn.net/yerenyuan_pku/article/details/52740744 本文我们学习映射文件中的主键属性,废话不多说,直接开干.  我们首先在cn.it ...

  4. 9、mybatis自增主键策略

    1.使用自增主键策略获取新增后的ID值 <insert id="addEmp" parameterType="com.mi.pojo.Employee"u ...

  5. mapper mysql 主键_实现通用mapper主键策略兼容mysql和oracle

    [原创文章,转载请注明原文章地址,谢谢!] 1.直接用官方提供的注解方法是无法达到兼容效果的 2.跟踪源码看看是否有其他方法 3.这里有个genSql,可以看一下这个类 4.创建一个自定义的处理类实现 ...

  6. MiniDao支持ID自增主键策略,使用讲解

    MiniDao支持ID自增主键策略 用法示例: /*** 插入数据(ID采用自增策略,并返回自增ID)* @param employee */ @IdAutoGenerator(generator=& ...

  7. 做电商网站的主键策略

    一般最常见的主键策略都是自增 但是为了应对分布式集群环境.数据库自然不能选择自增,否则并发大的时候会出现主键冲突. 一般oracle下选择了sequence的方式,mysql有的会自己设计sequen ...

  8. 尚医通MyBatis-Plus入门、添加、主键策略(二)

    目录: (1)MyBatis-Plus入门案例 (2)MyBatis-Plus-添加和主键生成策略 (1)MyBatis-Plus入门案例 简介: MyBatis-Plus(简称 MP)是一个 MyB ...

  9. 01-mybatis-plus插入操作及主键策略

    MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 润物无声 只做增强不做改变,引入它不会对现有工程产生 ...

最新文章

  1. OpenTSDB介绍——基于Hbase的分布式的,可伸缩的时间序列数据库,而Hbase本质是列存储...
  2. 编译原理三大经典书籍(龙书 虎书 鲸书)
  3. 关系型数据库,第一!
  4. 不用去验血,对照这张表,就能知道自己缺啥!千万收藏好!
  5. java模拟多线程买票问题
  6. gpu超算算法_英伟达推GPU加速Arm服务器参考设计!微软Azure启动GPU超算实例
  7. 一些值得借鉴的处事、励志语句
  8. 阿里云SDK实现短信发送
  9. ABAQUS橡胶大变形分析不收敛解决办法_51CAE_新浪博客
  10. nginx 启动 报错,80端口被占用问题,80端口无法杀掉问题
  11. 解决xhtmlrenderer flying-saucer-pdf-itext5 生成pdf时html中table分页内容太多挤到第二页问题。
  12. C# bartender打印帮助类,单个打印以及批量打印方法封装
  13. LNK 2001错误
  14. 智能化有何魅力,让奇瑞鲍思语如此坚定
  15. 内容提交的时一个图片,但是前端显示的时<img src=“地址“>而不是图片
  16. 我也不晓得为啥要拉这个清单
  17. 高等数学笔记-乐经良老师-第四章-微分中值定理和导数的应用-第四节-利用导数研究函数性态
  18. win7怎么彻底关闭全/半角转换快捷键? imetool.exe
  19. 网络工程师的python之路pdf_网络工程师的Python之路---Ansible篇
  20. tengine2.2.2 升级http2.0 后 springmvc 上传附件为空的,可能存在的原因

热门文章

  1. 简单又强大:基于深度学习的短文本向量嵌入方法
  2. [saiku]saiku3.8项目搭建步骤
  3. 2020成电计算机考研
  4. linux quota硬盘,Linux系统中quota磁盘命令的相关使用解析
  5. htmlunit教程
  6. DSO源码解析学习笔记(初始化)
  7. 向量的点乘与叉乘的几何意义
  8. 怎样提取音频制作手机铃声
  9. Visual SVN Server的下载和使用
  10. BT面板创建站点显示已存在问题解决