映射文件的属性说明
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.并尽量避免使用自然主键。
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 Oracle sequence的使用技巧
- jsp Hibernate批量更新和批量删除处理代码
- jsp hibernate的分页代码第1/3页
- JAVA+Hibernate 无限级分类
- SSH整合中 hibernate托管给Spring得到SessionFactory
- jsp hibernate 数据保存操作的原理
- hibernate中的增删改查实现代码
- 解决hibernate+mysql写入数据库乱码
- java优化hibernate性能的几点建议
- java Hibernate延迟加载
- hibernate 常用方法介绍
- 解析使用jdbc,hibernate处理clob/blob字段的详解
- 浅析java程序中hibernate的应用总结
- 关于Hibernate的一些学习心得总结
- 基于spring+hibernate+JQuery开发之电子相册(附源码下载)
- java Hibernate 一对多自身关联问题
- Hibernate的学习笔记(2)
- Hibernate的学习笔记(3)
- Hibernate的学习笔记(4)
- Hibernate的学习笔记(5)