cmp还是bmp
如是cmp的话,可以在cmp-rdbms-jar.xml文件里加
        <automatic-key-generation>
            <generator-type>SQL_SERVER</generator-type>
            <generator-name>ciId</generator-name>
            <key-cache-size>1</key-cache-size>
        </automatic-key-generation>

解决方案 »

  1.   

    要在ejbCreate的时候返回生成的主键有几种不同的策略:
    1、如果你使用hibernate作为持久层,那么你调用session.load会返回pk。
    2、如果你直接使用cmp或者bmp,可以利用数据库的专有功能(插入数据的同时返回该数据的pk)
       不过这种功能只有大型数据库才支持。
    3、在2的情况下,如果数据库不支持这些功能,那么还有一种方法,就是自己定制主键生成机制,
       不要由数据库自动生成。
    4、就像lukelan说得那样,在ejbPostCreate方法中调用ctx.getPrimaryKey方法,这种方法我没
       试过,你可以试试看,然后将结果告诉我,呵呵。
    希望对你有点帮助,呵呵