create sequence sortSeq;
insert into tb_stu(id,name,sort) values('402881e725d312c60125d345c5c90003','cody',sortSeq.nextval);
这样的在sql语句里面能插入记录,现在要对该对象进行插入记录的时候
Stu st=new Stu();
st.setId('402881e725d312c60125d345c5c90003');
st.setName('cody');
st.setSort(); //该行不知道怎么写
insert into tb_stu(id,name,sort) values('402881e725d312c60125d345c5c90003','cody',sortSeq.nextval);
这样的在sql语句里面能插入记录,现在要对该对象进行插入记录的时候
Stu st=new Stu();
st.setId('402881e725d312c60125d345c5c90003');
st.setName('cody');
st.setSort(); //该行不知道怎么写
nameid NUMBER(10,0) CONSTRAINT PK_TB PRIMARY KEY,
names varchar2(10));CREATE SEQUENCE tb_seq INCREMENT BY 1 START WITH 1 nomaxvalue nocycle nocache;CREATE OR REPLACE TRIGGER tb_trig_autoinc
BEFORE INSERT ON tb
FOR EACH ROW
BEGIN
IF (:new.nameid IS NULL) THEN
SELECT tb_seq.nextval INTO :new.nameid FROM DUAL;
END IF;
END;
/insert into tb(names) values('luoyoumou');
insert into tb(names) values('HuJingtao');select * from tb;
------------------------------- NAMEID NAMES
---------- --------------------
1 luoyoumou
2 HuJingtao
如果需要返回,可以用10g的DatabaseMetaData来获取返回的ID值。
如果10g以下可能不支持,那就另外再写个语句来select这个ID了。
st.setId('402881e725d312c60125d345c5c90003');
st.setName('cody');
另外,据我对hibernate的浅薄理解,它也是有序列这玩艺的吧?那么就在sort字段填上hibernate的序列值好了呀?
Java codeStu st=new Stu();
st.setId('402881e725d312c60125d345c5c90003');
st.setName('cody');
的时候,可以从表中查询出当前的sort的字段的最大值加1(方法同步),就可以实现自己的这个对对象进行的插入sort字段值的自增