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

      

  • 相关阅读:
    Java最大栈深度有多大?-从一道面试题开始学习JVM
    高性能队列——Disruptor
    高性能的Redis之对象底层实现原理详解
    高性能的Redis之数据持久化小结
    高性能的Redis之数据结构小结
    Redis单线程为什么如此之快?
    kafka partition与 group的特性
    深扒Disruptor高性能的原因
    Python 元类编程实现一个简单的 ORM
    用vue.js实现的期货,股票的实时K线
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7911883.html
Copyright © 2020-2023  润新知