ssh工程hibernate实体类(entity)注解方式生成主键 (id) (oracle)配置:
1、建表:t_user
create table t_user(
user_id int primary key, --主键,自增长
username varchar(20),
password varchar(20)
);
2、创建sequence:seq_user_id
CREATE SEQUENCE seq_user_id
start with 1 /* 从1开始计数*/
nomaxvalue /* 不设置最大值*/
increment by 1 /* 每次加几个*/
nocycle /* 一直累加,不循环*/
nocache /* 不建缓冲区*/
;
3、实体类中配置:
private Integer userId;
@Id
@Column(name = "USER_ID")
@SequenceGenerator(name = "user_id", sequenceName ="seq_user_id", initialValue = 1, allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "user_id")
省略 set get 方法 及 其他字段
4、重要提示:
(1)1中2行与3中3行中的 user_id 一致,且三种推荐使用大写字母。
(2)2、3中的 seq_user_id 要一致。
(3)3中4、5行两处的 user_id 要一致,且大小写相同。
(4)3中4行中的 ,initialValue = 1, allocationSize = 1 不可省略(包括前面的英文半角逗号),省略后,产生的 USER_ID 可能重复。