hibernate 主键生成
来源:互联网 发布:mysql 引号转义 编辑:程序博客网 时间:2024/06/03 14:22
在<id>主键映射时,可以利用<generator class="主键生成方式">指定主键的生成。当进行添加save()操作时,hibernate会根据指定生成方式生成一个id值,一般不需要程序员参与。
Hibernate预定义的生成方式如下:
*a. identity
通知hibernate框架,主键值采用数据库自动增长机制生成。常用于MySQL,SQLServer。
*b. sequence
通知hibernate框架,主键值采用指定序列生成,然后insert数据库。主要适用于Oracle,使用格式
<generator class="sequence">
<param name="sequence">foo_seq</param>
</generator>
*c. native
通知hibernate框架,根据dialect方言不同,自动选择identity和sequence方式。如果方言是MySQL选择identity,如果方言是Oralce选择sequence.
*d. increment
通知hibernate框架,先执行select max(id) from table,然后加1在执行insert操作。只用于各种数据库。
(了解)e. assinged
通知hibernate框架,忽略主键生成。需要程序员在代码中设置id值。setId(指定值).
(了解)f. uuid,hilo等
hibernate会根据uuid算法生成一个主键值,该值为字符串类型。
hibernate会根据hilo算法生成一个主键值,该值为数值类型。
(了解) g.如果以上生成方式不能满足,可以自定义。
首先定义一个类,该类要实现IdentifierGenerator接口,在generator方法定义自己的主键规则。
然后在<generator class="包名.类名"></generator>
Hibernate预定义的生成方式如下:
*a. identity
通知hibernate框架,主键值采用数据库自动增长机制生成。常用于MySQL,SQLServer。
*b. sequence
通知hibernate框架,主键值采用指定序列生成,然后insert数据库。主要适用于Oracle,使用格式
<generator class="sequence">
<param name="sequence">foo_seq</param>
</generator>
*c. native
通知hibernate框架,根据dialect方言不同,自动选择identity和sequence方式。如果方言是MySQL选择identity,如果方言是Oralce选择sequence.
*d. increment
通知hibernate框架,先执行select max(id) from table,然后加1在执行insert操作。只用于各种数据库。
(了解)e. assinged
通知hibernate框架,忽略主键生成。需要程序员在代码中设置id值。setId(指定值).
(了解)f. uuid,hilo等
hibernate会根据uuid算法生成一个主键值,该值为字符串类型。
hibernate会根据hilo算法生成一个主键值,该值为数值类型。
(了解) g.如果以上生成方式不能满足,可以自定义。
首先定义一个类,该类要实现IdentifierGenerator接口,在generator方法定义自己的主键规则。
然后在<generator class="包名.类名"></generator>
0 0
- Hibernate主键生成方式
- Hibernate 主键生成方式
- hibernate主键生成策略
- hibernate主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成方式
- Hibernate 主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成方式
- Hibernate主键生成方式
- Hibernate 主键生成策略
- hibernate主键生成
- hibernate主键生成
- Hibernate主键生成方式
- Hibernate 主键生成方式
- hibernate主键生成方式
- Hibernate 主键生成策略
- hibernate 主键生成策略
- Flex中表格的行背景显示不同的颜色
- Arduino的Proteus模拟——基本步骤归纳
- WIN8.1 JDK的安装与配置
- 二阶sqli注入
- 中断学习笔记-(一)
- hibernate 主键生成
- OpenGL常见问题
- Cocos2dx之定时器schedule,scheduleUpdate,scheduleOnce的使用
- hdu1241Oil Deposits 深广搜
- _00005 Hadoop DataNode源码浅析(RPC是基础)
- 那些年,我读过的技术书(Java下篇)
- 周赛二 简单题目汇总
- hdu 2058(水)
- OpenGL的函数(GLU, GLUT)