-- 例如: scott@TBWORA> create table t(id number(18,0), name varchar2(20));表已创建。scott@TBWORA> create sequence t_seq start with 1 increment by 1 nocache;序列已创建。scott@TBWORA> CREATE OR REPLACE TRIGGER t_trig_autoinc 2 BEFORE INSERT ON t 3 FOR EACH ROW 4 BEGIN 5 IF (:new.ID IS NULL) THEN 6 SELECT t_seq.nextval INTO :new.ID FROM DUAL; 7 END IF; 8 END; 9 /触发器已创建scott@TBWORA> INSERT INTO t(name) values('luoyoumou1');已创建 1 行。scott@TBWORA> INSERT INTO t(name) values('luoyoumou2');已创建 1 行。scott@TBWORA> commit;提交完成。scott@TBWORA> select * from t; ID NAME ---------- ---------------------------------------- 1 luoyoumou1 2 luoyoumou2
scott@TBWORA> create table t(id number(18,0), name varchar2(20));表已创建。scott@TBWORA> create sequence t_seq start with 1 increment by 1 nocache;序列已创建。scott@TBWORA> CREATE OR REPLACE TRIGGER t_trig_autoinc
2 BEFORE INSERT ON t
3 FOR EACH ROW
4 BEGIN
5 IF (:new.ID IS NULL) THEN
6 SELECT t_seq.nextval INTO :new.ID FROM DUAL;
7 END IF;
8 END;
9 /触发器已创建scott@TBWORA> INSERT INTO t(name) values('luoyoumou1');已创建 1 行。scott@TBWORA> INSERT INTO t(name) values('luoyoumou2');已创建 1 行。scott@TBWORA> commit;提交完成。scott@TBWORA> select * from t; ID NAME
---------- ----------------------------------------
1 luoyoumou1
2 luoyoumou2
...这位高手没有理解LZ的意思,LZ是说在映射文件里的设置问题,也就是说是属开发类的问题,这跟数据库没有直接关系。
在映射文件里你可将其设置为:identity或者number都可自增长!
<column name="STRREMARK" length="500" />
</key-property>
<key-property name="odtcreatetime" type="java.util.Date">
<column name="ODTCREATETIME" length="7" />
</key-property>
<key-property name="iorder" type="java.lang.Integer">
<column name="IORDER" precision="22" scale="0" />
</key-property>
</composite-id>
</class>
贴一小段映射文件,我想把这个iorder字段设置成自增长的,我每次对表进行操作不去管他,我插一跳记录他就会增加1,以前对主键添加序列的话可以 <generator class="sequence">
<param name="sequence">administer_sq</param>
</generator>
但对某个字段就不行,楼主是个新手额
把这个type改成increment??
<generator class="increment" />
</property>
select 序列.nextval from dual;
在oracle数据库中建立squence 然后再hibernate中和序列挂钩
<id name="id" column="id">
<generator class="sequence">
<param name="sequence_name">在数据库中创建的squence的名字</param>
</generator>
</id>