1)oracle,有些自增的ID就无法使用,还有就是name和level是关键字,在建表的时候也会有问题,不能作为列名使用,在oracle中如何使用自增id呢,需要使用sequence和trigger两个,还有几十在javabean中不能有@GeneratedValue(strategy = GenerationType.IDENTITY)它了
CREATE SEQUENCE SEQ_WZ_USER_ID MINVALUE 100 NOMAXVALUE INCREMENT BY 1 START WITH 100 NOCACHE;
CREATE TRIGGER TRG_SEQ_WZ_USER_ID
BEFORE INSERT ON WZ_USER
FOR EACH ROW
BEGIN
SELECT SEQ_WZ_USER_ID.NEXTVAL INTO :new.ID FROM DUAL;
END;
CREATE SEQUENCE SEQ_WZ_ORG_ID MINVALUE 25 NOMAXVALUE INCREMENT BY 1 START WITH 100 NOCACHE;
CREATE TRIGGER TRG_SEQ_WZ_ORG_ID
BEFORE INSERT ON WZ_ORGANIZATION
FOR EACH ROW
BEGIN
SELECT SEQ_WZ_ORG_ID.NEXTVAL INTO :new.ID FROM DUAL;
END;
CREATE SEQUENCE SEQ_WZ_FILE_GAIN_ID MINVALUE 100 NOMAXVALUE INCREMENT BY 1 START WITH 100 NOCACHE;
CREATE TRIGGER TRG_SEQ_WZ_FILE_GAIN_ID
BEFORE INSERT ON WZ_FILE_GAIN
FOR EACH ROW
BEGIN
SELECT SEQ_WZ_FILE_GAIN_ID.NEXTVAL INTO :new.FILE_ID FROM DUAL;
END;
CREATE SEQUENCE SEQ_WZ_FILE_LOG_ID MINVALUE 100 NOMAXVALUE INCREMENT BY 1 START WITH 100 NOCACHE;
CREATE TRIGGER TRG_SEQ_WZ_FILE_LOG_ID
BEFORE INSERT ON WZ_FILE_LOG
FOR EACH ROW
BEGIN
SELECT SEQ_WZ_FILE_LOG_ID.NEXTVAL INTO :new.LOG_ID FROM DUAL;
END;
CREATE SEQUENCE SEQ_WZ_LOG_ID MINVALUE 100 NOMAXVALUE INCREMENT BY 1 START WITH 100 NOCACHE;
CREATE TRIGGER TRG_SEQ_WZ_LOG_ID
BEFORE INSERT ON WZ_LOG
FOR EACH ROW
BEGIN
SELECT SEQ_WZ_LOG_ID.NEXTVAL INTO :new.ID FROM DUAL;
END;
还有就是需要注意这里的minvalue需要大于已经存在于数据