Hibernate初识 (二)--主键生成策略


主键生成策略:


(1)sequence
1.sequence :是采用序列方式生成主键,适用于Oracle数据库
2.配置语法为:

 
	 
 

(2)identity
1.identity是采用数据库自增长机制生成主键,适用于Oracle之外的其他数据库.
2.配置语法为:



(3)native
1.native是根据当前配置的数据库方言,自动选择 sequence或者identity
2.配置语法为:


	

(4)increment (不常用)
1.increment 不是采用数据库自身的机制来生成主键,而是Hibernate提供的一种生成主键的方式.它会获取当前表中主键的最大值,然后加1作为新的主键.
2.配置语法为:



注意:这种方式在并发量高时存在问题,可能会生成重复的主键,因此不推荐使用.
(5)assigned (不常用)
1.assigned 是Hibernate不负责生成主键,需要程序员自己处理主键的生成.
2.配置语法为:



需要使用 set方法  自己设置主键
例:Empno为主键字段
Emp e = new Emp();
e.setEmpno(1);
(6) uuid/hilo
1.uuid/hilo :是采用uuid或hilo算法生成一个主键,这个主键值是一个不规则的长数字。
     要求:必须是字符串类型,长度必须大于等于32位。
2.配置语法为:



注意:
这种方式生成的主键可以保证不重复,但是没有规律,因此不能按主键排序。
例:
SQL语句:
在这里插入图片描新建述
写一个class,添加get和set方法
Hibernate初识 (二)--主键生成策略_第1张图片
添加映射文件 
在这里插入图片描述
在Hibernate.cfg.xml中添加 mapping resource
添加测试类
Hibernate初识 (二)--主键生成策略_第2张图片
在数据库文件中查询select * from teststu;并运行 
测试结果 
在这里插入图片描述

你可能感兴趣的:(Hibernate初识 (二)--主键生成策略)