对oracle的主键自增
1。用hibernate的方式
第一步,建立表,并设置主键为tableName_id.
第二步,建立sequence视图,sql语句如下
create sequence tableName_seq
minvalue 1
start with 1
increment by 1
nocycle
nocache;
其中,minvalue表示最小值,start with表示开始值,increment by表示每次增加数,nocycle表示主键不循环,nocache表示不缓存
cache可以加快速度,但出现异常时可能会出现不连续的ID。
第三步,hibernate中的xml映射
<id name="id" type="java.lang.Long"> <column name="tableName_id" /> <generator class="sequence"> <param name="sequence">tableName_seq</param> </generator> </id>
说明:
每个表的主键id对应一个your_sequence_name
查询sequence为 select * from user_sequences;
删除sequence为 drop your_sequence_name;