oracle使用序列自增 序列如下:create sequence IDM_APPROVEROLE_ID_SEQ
minvalue 1
maxvalue 999999
start with 1
increment by 1
cache 30
order;但是在实际使用中 id总是自增2 打断点跟踪 是只执行了一次save方法谁知道怎么解决  谢谢

解决方案 »

  1.   

    你是用什么方式取的sequence ?
    若果是程序的一次save方法..可能在这个save方法里执行了2次  
    IDM_APPROVEROLE_ID_SEQ.nextval呢?你检查下看看?
      

  2.   

    谢谢 刚发上去 就找到解决方法了 
    去掉SEQUENCE的触发器,Hibernate是直接调用SEQUENCE.nextval的,此时如果数据库端有主键触发器的话就会增加2
      

  3.   

    谢谢 刚发上去 就找到解决方法了  
    去掉SEQUENCE的触发器,Hibernate是直接调用SEQUENCE.nextval的,此时如果数据库端有主键触发器的话就会增加2
      

  4.   

    你是不是用的hibernate ?
      

  5.   

    ,Hibernate是直接调用SEQUENCE.nextval的,此时如果数据库端有主键触发器的话就会增加2++
    学习了