Hi All, I have a HospitalBean which is called from a HospitalManagerBean which is a SessionBean.
The Manager code is as follows public HospitalData addHospital(HospitalData hospitalData) throws EJBException,RemoteException{ HospitalData newHospitalData = new HospitalData(); try { System.out.println("Debug in HospitalManager 1********"); InitialContext initialContext = new InitialContext(); System.out.println("Debug in HospitalManager 2********"); HospitalHome hospitalHome = (HospitalHome) initialContext.lookup(JNDINames.Hospital_Home); System.out.println("Debug in HospitalManager 3********"); Hospital hospital = hospitalHome.create(hospitalData); System.out.println("$$$$$$$Created Hospital$$$$$$$$$$$"); System.out.println("Hospital Primary Key" + hospital.getPrimaryKey().toString()); newHospitalData = hospital.getHospitalData(); return newHospitalData; } catch (NamingException ne) { throw new EJBException(ne.getMessage()); } catch (CreateException ce) { throw new EJBException(ce.getMessage()); } } The Hospital Entity Bean is as follows public abstract class HospitalEJB implements EntityBean { private EntityContext context; public Long hospitalid; public String hospitalname; public void ejbLoad() throws EJBException, RemoteException { } public void ejbActivate() throws EJBException, RemoteException { } public Long ejbCreate(HospitalData hospitalData) throws CreateException{ Long myid = new Long(UniqueIdGenerator.getId()); System.out.println("My id generated ====== "+myid); this.hospitalid = myid; System.out.println("My id generated ====== "+this.hospitalid); System.out.println("Came in ejbCreate method of HospitalEJB"); this.hospitalname = hospitalData.getHospitalname(); return null; } public void ejbPostCreate(HospitalData hospitalData)throws CreateException,RemoteException{ System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); System.out.println("Came in EJB POSTCreate of HospitalEJB"); System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); } public void ejbRemove() throws RemoveException, RemoteException, EJBException { } public void setEntityContext(EntityContext context) throws EJBException, RemoteException { } public void unsetEntityContext() throws EJBException, RemoteException { } public void ejbPassivate() throws EJBException, RemoteException { } public void ejbStore() throws EJBException, RemoteException { } /** * @return */ public abstract Long getHospitalid(); /** * @return */ public abstract String getHospitalname(); /** * @param long1 */ public abstract void setHospitalid(Long long1); /** * @param string */ public abstract void setHospitalname(String string); public HospitalData getHospitalData(){ System.out.println("Came in get hospital data"); System.out.println("In Get method of HospitalEJB"+this.hospitalid); System.out.println("In Get method of HospitalEJB"+this.hospitalname); HospitalData hospitalData = new HospitalData(); hospitalData.setHospitalid(this.hospitalid); hospitalData.setHospitalname(this.hospitalname); System.out.println("In Get method of HospitalEJB"+hospitalData.getHospitalid()); System.out.println("In Get method of HospitalEJB"+hospitalData.getHospitalname()); return hospitalData; } public void setHospitalData(HospitalData hospitalData){ System.out.println("In Set method of HospitalEJB" + hospitalData.getHospitalname()); this.hospitalname = hospitalData.getHospitalname(); } } The bean is deployed properly.The tables are also created but when I run the application it gives the following error: 18:27:12,093 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract com.cygnet.medina.Hospital.Hospital com.cygnet.medina.Hospital.HospitalHome.create(com.cygnet.medina.Hospital.HospitalData) throws javax.ejb.CreateException,java.rmi.RemoteException, causedBy: javax.ejb.EJBException: getGeneratedKeys returned an empty ResultSet at org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCMySQLCreateCommand.executeInsert(JDBCMySQLCreateCommand.java:87) at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.performInsert(JDBCAbstractCreateCommand.java:308) at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:138) at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572) at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:222) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:266) at org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:766) 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) A 0 is entered in the hospitalid field and no value is entered in the hospital name field. Here is my 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> <enterprise-beans> <ejb-name>UserManager</ejb-name> com.cygnet.medina.UserManager.UserManagerHome com.cygnet.medina.UserManager.UserManager <ejb-class>com.cygnet.medina.UserManager.UserManagerEJB</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <assembly-descriptor> <container-transaction> <ejb-name>UserManager</ejb-name> <method-name>*</method-name> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> <ejb-name>HospitalManager</ejb-name> com.cygnet.medina.HospitalManager.HospitalManagerHome com.cygnet.medina.HospitalManager.HospitalManager <ejb-class>com.cygnet.medina.HospitalManager.HospitalManagerEJB</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <assembly-descriptor> <container-transaction> <ejb-name>HospitalManager</ejb-name> <method-name>*</method-name> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> <ejb-name>AnesthesiaUser</ejb-name> com.cygnet.medina.user.AnesthesiaUserHome com.cygnet.medina.user.AnesthesiaUser <ejb-class>com.cygnet.medina.user.AnesthesiaUserEJB</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Long</prim-key-class> False <cmp-version>2.x</cmp-version> <abstract-schema-name>AnesthesiaUser</abstract-schema-name> <cmp-field> <field-name>userid</field-name> <column-name>userid</column-name> </cmp-field> <cmp-field> <field-name>username</field-name> <column-name>username</column-name> </cmp-field> <cmp-field> <field-name>password</field-name> <column-name>password</column-name> </cmp-field> <cmp-field> <field-name>usertype</field-name> <column-name>usertype</column-name> </cmp-field> <cmp-field> <field-name>createddate</field-name> <column-name>createddate</column-name> </cmp-field> <cmp-field> <field-name>updateddate</field-name> <column-name>updateddate</column-name> </cmp-field> <primkey-field>userid</primkey-field> <query-method> <method-name>findByUsername</method-name> <method-params> <method-param>java.lang.String</method-param> </method-params> </query-method> <ejb-ql></ejb-ql> <assembly-descriptor> <container-transaction> <ejb-name>AnesthesiaUser</ejb-name> <method-name>*</method-name> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> <ejb-name>Hospital</ejb-name> com.cygnet.medina.Hospital.HospitalHome com.cygnet.medina.Hospital.Hospital <ejb-class>com.cygnet.medina.Hospital.HospitalEJB</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.Long</prim-key-class> False <cmp-version>2.x</cmp-version> <abstract-schema-name>Hospital</abstract-schema-name> <cmp-field> <field-name>hospitalid</field-name> <column-name>hospitalid</column-name> </cmp-field> <cmp-field> <field-name>hospitalname</field-name> <column-name>hospitalname</column-name> </cmp-field> <primkey-field>hospitalid</primkey-field> <assembly-descriptor> <container-transaction> <ejb-name>Hospital</ejb-name> <method-name>*</method-name> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </enterprise-beans> </ejb-jar> Can anyone tell me what the problem is.I am struggling with it for the past 2 days. Also FYI I am using Jboss 4.0.2 and MySQL 4.1.13 database View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3886803#3886803 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3886803 ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user