hibernate多对多的时候,使用数据库是oracle
在做插入操作时,中间表的自增序列要自动+1怎么处理?
oracle不象mssql2000那样,中间表自增长字段会自动+1,oracle是用序列来控制的,怎么办呀?
具体如下:
三张表
user:
userid
username
role:
roleid
rolenameuser_role(这张就是中中间表)
autoid(自增长字段)
userid
roleid用户与角色是多对多的,呵呵,好象我都在讲废话.正题了..过去我用mssql2000数据库的时候,更新的时候,中间表会自动更新,因为mssql2000的自增长字段是自动+1的,这可能是mssql2000自己内部的机制
而现在我使用oracle了,中间表仍然是hibernate帮我自动更新的,但是自增字段却无法自动+1,因为oracle的机制是用序列控制的,这样导致hibernate自动更新中间表的时候,插入的自增字段是个null值,结果就抛出异常了..
请教高人,如何解决???

解决方案 »

  1.   

    oracle 序列 也能实现自动增1啊,mssql实现简单些 oracle的程序员自己写一个序列就行了。
      

  2.   

    可能你没明白我的意思
    我知道oracle   序列   也能实现自动增1.
    但是现在我是通过hibernate来对中间表进行自动的更新,可是 hibernate并不知道如何让中间表的序列自增1呀!
      

  3.   

    那个不就是关系表吗?
    我是把auto_id去了,直接user_id和role_id作为联合主键
      

  4.   

    我是想把auto_id去了,我知道这样可以
    但是我想知道怎么更新auto_id