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);

      

  • 相关阅读:
    Microsoft Word 段前距设置和页眉设置
    JavaScript 跨域小总结
    JavaScript 闭包系列二(匿名函数及函数的闭包)

    JavaScript 变量作用域
    JavaScript 闭包系列一
    JavaScript 继承
    JavaScript 对象的创建
    MySQL(2): 窗口函数备份与恢复性能优化权限管理
    组建LAN
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7911883.html
Copyright © 2011-2022 走看看