您的位置:首页 > 其它

映射文件的属性说明

2014-02-25 12:01 169 查看
一.概念

      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.并尽量避免使用自然主键。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate