在创建时CMP实体的ejb时,在原有的ejbCreate(string custname)的基础上我又添加一个ejbCreate(java.lang.String custname, java.lang.Int
其中,custname是主键,当我用 客户段程序KehuTestClient.java,前后调用两个方法新增记录时出错,其中ejbCreate(java.lang.String custname, java.lang.Integer custage, java.lan)方法新增成功,ejbCreate(java.lang.String custname)而出错,出错如下:
C:\bea\jdk141_03\bin\javaw -classpath "D:\Good\classes;C:\bea\weblogic81\server\lib\weblogic_sp.jar;C:\bea\weblogic81\server\lib\weblogic.jar;C:\bea\weblogic81\server\lib\webservices.jar;D:\JBuilder9\lib\beans\dxejb.jar;D:\JBuilder9\lib\ext\nls_charset12.jar;D:\JBuilder9\lib\ext\classes12.jar;D:\JBuilder9\lib\ext\mm.mysql-2.0.13-bin.jar;C:\bea\jdk141_03\jre\lib\charsets.jar;C:\bea\jdk141_03\jre\lib\ext\dnsns.jar;C:\bea\jdk141_03\jre\lib\ext\ldapsec.jar;C:\bea\jdk141_03\jre\lib\ext\localedata.jar;C:\bea\jdk141_03\jre\lib\ext\sunjce_provider.jar;C:\bea\jdk141_03\jre\lib\im\indicim.jar;C:\bea\jdk141_03\jre\lib\jaws.jar;C:\bea\jdk141_03\jre\lib\jce.jar;C:\bea\jdk141_03\jre\lib\jsse.jar;C:\bea\jdk141_03\jre\lib\rt.jar;C:\bea\jdk141_03\jre\lib\sunrsasign.jar;C:\bea\jdk141_03\lib\dt.jar;C:\bea\jdk141_03\lib\tools.jar;C:\bea\jdk141_03\lib\htmlconverter.jar;C:\bea\jdk141_03\lib\jndi.jar;C:\bea\jdk141_03\lib\classes12.jar;C:\bea\jdk141_03\lib\nls_charset12.jar;C:\bea\jdk141_03\lib\mm.mysql-2.0.13-bin.jar" good.KehuTestClient5
-- Initializing bean access.
-- Succeeded initializing bean access through Home interface.
-- Execution time: 4829 ms.
-- Calling create(wanghx)
javax.ejb.CreateException: [EJB:010148]In EJB 'Kehu', the primary key field 'custname' was not set during ejbCreate. All primary key fields must be initialized during ejbCreate.
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:284)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:244)-- Failed: create(wanghx)
at good.Kehu_1q4va6_HomeImpl_811_WLStub.create(Unknown Source)
at good.KehuTestClient5.create(KehuTestClient5.java:111)
at good.KehuTestClient5.main(KehuTestClient5.java:491)
Caused by: javax.ejb.CreateException: [EJB:010148]In EJB 'Kehu', the primary key field 'custname' was not set during ejbCreate. All primary key fields must be initialized during ejbCreate.
at good.Kehu_1q4va6__WebLogic_CMP_RDBMS.pkCheck(Kehu_1q4va6__WebLogic_CMP_RDBMS.java:1903)
at good.Kehu_1q4va6__WebLogic_CMP_RDBMS.ejbCreate(Kehu_1q4va6__WebLogic_CMP_RDBMS.java:1947)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at weblogic.ejb20.manager.DBManager.create(DBManager.java:1139)
at weblogic.ejb20.manager.DBManager.remoteCreate(DBManager.java:1109)
at weblogic.ejb20.internal.EntityEJBHome.create(EntityEJBHome.java:247)
at good.Kehu_1q4va6_HomeImpl.create(Kehu_1q4va6_HomeImpl.java:96)
at good.Kehu_1q4va6_HomeImpl_WLSkel.invoke(Unknown Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:466)
at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:409)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:353)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:144)
at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:404)
at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:30)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
-- Return value from create(wanghx): null.