Hibernate里面generator对应有主键生成器,用来生成主键。
一般演示都是用
native代表是服务器自设的
1、在SQL Server里面必须设定自增,比如主键为Int ID代码为,
[ID] [int] IDENTITY(1,1) NOT NULL,
其中IDENTITY(1,1) ,表示其实为1,每次增加1个。
就可以自动自增。
2、在MySQL里面,自增是用
ID int auto_increment
必须主键设定自增,Hibernate才会调用自增。
3、在Oracle里面,没有简单的自增,是使用序列数
SEQUENCE,那么就是虽然定义为Native,实际上是SEQUENCE。
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
在HIbernate里面就应该是这样
emp_sequence
最后,建议还是使用uuid.hex 。这样数据库移植的时候,可以省掉很多主键生成的事情。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22259926/viewspace-665042/ ,如需转载,请注明出处,否则将追究法律责任。