zoukankan      html  css  js  c++  java
  • Hibernate持久化标志符生成策略

    generator子元素定义持久化标识符的生成策略,为持久化类对应的数据库表的主键找到了赋值方法,HIbernate默认将使用assigned的持久化标识符生成策略。
    关系型数据库的主键定义方式
    (1),用户自定义主键。单一主键或复合主键。
    (2),代理主键。
    Hibernate的内置持久化标识符生成器
    (1)increment(递增)用于为long short或者int类型生成唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用,在集群中不要使用。
    (2),identity,对DB2、MySQL、MS SQLServer,Sybase和HypersonicSQL的内置标识字段提供支持。返回的标志符是long、short、或者int类型的。
    (3),sequence,使用序列
    (4),hilo(高低位),使用一个高/低位算法来高效的生成long short 或int类型的标志符。给定一个表和字段(默认为hibernate_unique_key和next)作为高位值的来源,高/低位算法生成的标志符只在一个特定的数据库中是唯一的。
    (5),native(本地)
    根据底层数据库的能力选择identity、sequence、或者hilo中的一个。
    (6),assigned(程序设置)
    让应用程序在save()之前为对象分配一个标志符。
    (7),foreign(外部引用)
    使用另外一个相关联对象的标识符。与<one-to-one>联合一起使用,用在基于主键关联的一对一关联。

    composite-id元素来映射复合主键

    <composite-id>

      <key-property name="id" type="long" />  

      <key-property name="owner" type="String" />

    </composite-id>

  • 相关阅读:
    ELK相关操作记录-运维笔记
    php执行普通shell命令
    rsync 限速同步文件
    mysql 压测工具启动报 error while loading shared libraries: libmysqlclient.so.20解决办法
    php连接SQL server 数据库测试php脚本
    mysql 5.6.24 主从配置(增加从库)
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    Linux下mysql-5.6重置root密码
    WSDL文档深入分析
    随笔
  • 原文地址:https://www.cnblogs.com/happinessqi/p/3496353.html
Copyright © 2011-2022 走看看