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

  • 相关阅读:
    提高情商的八种方法
    线程安全与可重入
    【Linux必知必会】initrd.img、vmlinux和 vmlinuz************
    shell调试技术
    (转)DeviceIOControl详解
    软件质量特性及其子特性列表
    【Linux必知必会】initrd.img、vmlinux和 vmlinuz
    驱动程序与应用程序之间共享内存
    调试器GDB
    知道IP地址和子网掩码。算出网络地址、广播地址、地址范围、可用的主机数
  • 原文地址:https://www.cnblogs.com/happinessqi/p/3496353.html
Copyright © 2020-2023  润新知