zoukankan      html  css  js  c++  java
  • hibernate(二)主键生成策略

    hibernate主键生成策略主要指的是在实体类orm的配置

      <id name="">

          <generator class="native"></generator>

      </id>

      主键生成策略:(7个)

      indentity  :主键自增  ,从数据库中维护主键值,在录入时不用指定主键。   控制台sql 显示为: insert into  Person(name ,sex,age) values(?,?,?)  

      increment :   主键自增,从hibernate中维护,每次插入前 ,会先查询表中最大id值  +1 作为id值   。 控制台SQL 显示为: select   max(id) from person   ,  inserst into  person (id ,name,sex,age) values(?,?,?,?);    具有线程安全问题  ,当对个用户同时插入时, 查询的最大id相同, 提交最慢的把前面的用户覆盖掉了

         sequence  :oracle  数据库 序列 主键生成策略

      Hilo  :高低为算法    hibernate自己生成自动递增  (开发不使用)

      native  :hilo +sequence +indetity    自动三选一  、 根据数据库的方言选择对应的生成策略

      uuid  : 产生随机字符串作为主键    实体类成员变量类型为string 类型

      assigned: 自然主键生成策略,  由开发人员自己录入(表某一列具有主键特征  ,比如:个人信息中的身份证号)   

                                eg :  Person p=new Person();

                p.setId(23434); 

                必须自己录用id值  ,否则会报异常:

                p.setName("dfdf");  p.setSex("男”);  p.setAge(30); 

              session.save(p);

      

  • 相关阅读:
    基于移动最小二乘曲面的点云对齐(一) 隐式平面的生成
    最小二乘法的原理及改进
    三维扫描原理及精度控制
    C语言实现界面(不通过MFC避免遗忘)
    2020年04月11日腾讯一面总结
    什么样的钱该花
    js修改伪类before边框颜色
    12.19技术知识点整理
    在windows下搭建类mac前端开发环境
    工作中遇到的bug修复
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7911883.html
Copyright © 2011-2022 走看看