映射文件的属性说明

一.概念

      1. 自然主键:具有业务含义的字段作为主键
      2.代理主键(推荐):不具有业务含义的字段,该字段一般称为"id".
      3.在数据库表中,对主键的要求:
                1)不允许为null
                2.)不允许重复
                3)不允许改变


二.映射文件的属性说明


        1. <id>元素说明:设置持久化类的OID和表的主键的映射。 属性如下:
              1)name:标识持久化类OID的属性名
              2)column:设置标识属性所映射的数据库表中的列名(主键字段的名称)
              3)type:指定Hibernate映射类型。Hibernate映射类型是Java类型与SQL类型的桥梁。如果没有为某个属性显式设置映射           类型,Hibernate则运用反射机制先识别持久化类的特定属性的Java类型,然后自动使用与之对应的默认的Hibernate映射类型。
              4) 基本数据类型无法表达null,对于持久化类的OID推荐使用包装类型。

        2. <generator>元素说明:为持久化类设置标识符生成器。

             包含属性:class:指定使用的标识符生成器全限定类名或其缩写名


        3. 主键生成策略的说明:

            1) 除assigned适用于自然主键外,其余全都适用于代理主键。

            2)increment:由Hibernate自动以递增的方式生成标识符,每次增量为1.
            3)identity:由底层数据库生成标识符。条件是数据库支持自动增长数据类型
            4)sequence:Hibernate根据底层数据库序列生成标识符。条件是数据库支持序列
            5)hilo:Hibernate根据hign/low算法生成标识符。Hibernate把特定表的字段作为"hign"值。默认情况下,采用                     hibernate_unique_key表的next_hi字段
            6)native:根据底层数据库对自动生成标识符的能力来选择indentity、sequence、hilo
            7)uuid.hex:Hibernate采用128位的UUID算法来生成标识符。该算法能够在网络环境中生成唯一的字符串标识符。由于字符串类型的主键比整数类型的主键占用更多的数据空间,故此策略并不流行。
            8)assigned:由Java程序负责 生成标识符。不能把setId()方法声明为private.并尽量避免使用自然主键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走路诗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值