数据库是db2和oracle的都可以处理,sqlsever的不知道,问题你能取得每次的字增字段的值吗?例如:oracle里面可以好象用序列名.nextval得到下一个值

解决方案 »

  1.   

    在它的例子中,实现这一功能是在weblogic-cmp-rdbms-jar.xml里,如下:
    <automatic-key-generation>
          <generator-type>ORACLE</generator-type>
          <generator-name>oracle_sequence</generator-name>
          <key-cache-size>10</key-cache-size>
        </automatic-key-generation>其中oracle_sequence是自己定义的序列。
      

  2.   

    建议自己写一个生成主健的ejb.
      

  3.   

    没用的,我的是SQL Server,在rdms文件中加入:
        <automatic-key-generation>
          <generator-type>SQL_SERVER</generator-type>
        </automatic-key-generation>
    但CMP Bean的ID字段如何设置?在ejbCreate()方法中吗?在,它报错,说它在创建时没有被赋值;不在ejbCreate中时,它又报错,说主键不可以在create时不赋值,请部问有什么好的方法呢?
      

  4.   

    rdms文件的设置正如你所说的,在ejbCreate()不用加入id字段作为参数的啊,容器自己会帮你处理好的了!
      

  5.   

    可是编译通不过,它说主键(ID是主键)不可以不在ejbCreate参数中!不,好像是执行通不过,发布没有问题的,就是新建对象时,报错,说主键没有在ejbCreate方法中,如何办呢?
      

  6.   

    因为是自增字段,当然不能把主键也放在ejbcreate()里面了。你在你的weblogic-cmp-rdbms-jar.xml里加上:
        <automatic-key-generation>
          <generator-type>SQL_SERVER</generator-type>
        </automatic-key-generation>
    就行了啊。创建记录的时候,容器自己帮你处理别的事情了。
      

  7.   

    有没有比较统一的方法,不要针对每种数据库。
    如:oracle,db2中有sequence,但是其它没有。
    那怎么实现字段自增长的ejbCreate()方法呢???
    请高手指点?
      

  8.   

    不过在Oracle里用序列名.nextval来处理自增字段,可序列没有事务的回滚功能,那有其他好方法吗?