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

      

  • 相关阅读:
    20130912对象生命周期基础
    ASP.Net 提交表单 post 方式代码
    Design Service Develop Created new Field(1)
    asp.net 调用存储过程(带有输入,输出参数 ,思路)二
    工作流概述
    asp.net 调用存储过程(带有输入,输出参数 范例)二
    如何配置服务器上面的Excel组件访问权限
    C# 模拟网站登陆
    NPOI创建DOCX常用操作
    SQL CPU高排查
  • 原文地址:https://www.cnblogs.com/shaoxiaohuan/p/7911883.html
Copyright © 2020-2023  润新知