我的数据库是SQLServer2005,服务器是Weblogic10.3,在用XDoclet做一个主键自增的CMP的实体Bean报如下异常:weblogic-cmp-rdbms-jar.xml配置文件里也做了正确的配置,SQLServer常用的两种主键自增的方式都试过了,还是报同样的错误!
重载的ejbCreate方法:/**
 * @ejb.create-method
 */
public Integer ejbCreate(String usrName, Integer usrAge)
throws CreateException {
setUsrName(usrName);
setUsrAge(usrAge);
return new Integer(0);
}  //其中Integer usrID是主键自增成员
重载的ejbPostCreate方法:public void ejbPostCreate(String usrName, Integer usrAge) throws CreateException {
}======================================================================================
配置文件:ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"><ejb-jar >   <description><![CDATA[No Description.]]></description>
   <display-name>Generated by XDoclet</display-name>
   <enterprise-beans>
      <entity >
         <description><![CDATA[Description for User]]></description>
         <display-name>Name for User</display-name>
         <ejb-name>User</ejb-name>
         <home>pk.interfaces.UserHome</home>
         <remote>pk.interfaces.User</remote>
         <ejb-class>pk.ejb.UserCMP</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>java.lang.Integer</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>User</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>usrID</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>usrName</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>usrAge</field-name>
         </cmp-field>
 <primkey-field>usrID</primkey-field>
      </entity>
   </enterprise-beans>
   <assembly-descriptor >
    <container-transaction>
    <method>
    <ejb-name>User</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
   </assembly-descriptor>
</ejb-jar>
=======================================================================================
配置文件:weblogic-cmp-rdbms-jar.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE weblogic-rdbms-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB RDBMS Persistence//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-rdbms20-persistence-600.dtd">
<weblogic-rdbms-jar>
   <weblogic-rdbms-bean>
      <ejb-name>User</ejb-name>
      <data-source-name>jndi/myds</data-source-name>
      <table-name>users</table-name>
      <field-map>
         <cmp-field>usrID</cmp-field>
         <dbms-column>usr_ID</dbms-column>
      </field-map>
      <field-map>
         <cmp-field>usrName</cmp-field>
         <dbms-column>usr_Name</dbms-column>
      </field-map>
      <field-map>
         <cmp-field>usrAge</cmp-field>
         <dbms-column>usr_Age</dbms-column>
      </field-map>
      <automatic-key-generation>
       <generator-type>SQLServer</generator-type>
      </automatic-key-generation>
   </weblogic-rdbms-bean>
   <create-default-dbms-tables>True</create-default-dbms-tables>
</weblogic-rdbms-jar>
================================================================================
配置文件:weblogic-ejb-jar.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN" "http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd"><weblogic-ejb-jar>
 <description><![CDATA[Generated by XDoclet]]></description>
   <weblogic-enterprise-bean>
      <ejb-name>User</ejb-name>
      <entity-descriptor>
         <persistence>
            <persistence-type>
               <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
               <type-version>7.0</type-version>
               <type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
            </persistence-type>
            <persistence-use>
               <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
               <type-version>7.0</type-version>
            </persistence-use>
         </persistence>
      </entity-descriptor>
      <reference-descriptor>
      </reference-descriptor>      <jndi-name>ejb/User</jndi-name>
   </weblogic-enterprise-bean>
</weblogic-ejb-jar>
===============================================================
其中要是把CMP的主键的自增去掉,改为自己Set的,程序可以正常运行,但是一用自增就报异常!!