Error, Entity Bean Does not store data in db

Hi,I write a student entity (2.0) bean. it does not store data in database(mySQL). my env = Jboss4, mySQL4.1,Eclipse3.1, Entity bean 2.xCan any body tell me the possible reasions. if you need then i'll give u code.Thanks in advanceRavi
[278 byte] By [raviadhaa] at [2007-11-27 2:18:05]
# 1
Hello,Could you please, post the ejb codethe deployement descriptor and the client code.what about transaction ?Regards,Sebastien Degardin
sdegardina at 2007-7-12 2:17:13 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

Thanks for reply

Here is my code

public interface StudentCMP extends EJBObject

{

public void setId(Integer id) throws RemoteException;

public void setName(String name) throws RemoteException;

public void setSubject(String subject)throws RemoteException;

public Integer getId() throws RemoteException;

public String getName() throws RemoteException;

public String getSubject()throws RemoteException;

}

public interface StudentCMPHome extends EJBHome {

public StudentCMP create(String name,String addr) throwsRemoteException, CreateException;

public StudentCMP findByPrimaryKey(Integer pk)throws FinderException, RemoteException;

public Collection findAll()throws FinderException,RemoteException;

}

public interface StudentCMPLocal extends EJBLocalObject {

public Integer getId();

public String getName();

public String getSubject();

public void setId(Integer id);

public void setName(String name);

public void setSubject(String subject);

} // end of the class

public interface StudentCMPLocalHome extends EJBLocalHome {

public StudentCMPLocal create(String name,String addr) throwsCreateException;

public StudentCMPLocal findByPrimaryKey(Integer pk)throws javax.ejb.FinderException;

} // end of the class

public abstract class StudentCMPBean implements EntityBean {

private EntityContext ctx;

private Integer generatePrimaryKey() {

return new Integer((new Object()).hashCode());

}

public java.lang.Integer ejbCreate(String name,String subject) throws CreateException {

this.setId(this.generatePrimaryKey());

this.setName(name);

this.setSubject(subject);

return null;

}

public void ejbPostCreate(String name,String address)

{

} // end of the method ...

public abstract void setId(Integer id);

public abstract void setName(String name);

public abstract void setSubject(String address);

public abstract Integer getId();

public abstract String getName();

public abstract String getSubject();

public void setEntityContext(EntityContext _ctx)

{

this.ctx = _ctx;

} // end of the method ...

public void unsetEntityContext()

{

this.ctx = null;

} // end of the method ...

public void ejbActivate()

{

System.out.println("ejbActivate()........");

} // end of the method ...

public void ejbPassivate()

{

System.out.println("ejbPassivate()........");

} // end of the method ...

public void ejbLoad()

{

System.out.println("ejbLoad()........");

} // end of the method ...

public void ejbStore()

{

System.out.println("ejbStore()........");

} // end of the method ...

public void ejbRemove()

{

} // end of the method ...

} // end of the class ...

************* CLIENT

public class StudentCMPClient {

public static void main(String [] args) throws Exception {

String providerURL = "jnp://192.168.5.204:1099";

String factoryName = "org.jnp.interfaces.NamingContextFactory";

String factoryPkgs = "org.jboss.naming:org.jnp.interfaces";

Properties props = System.getProperties();

props.put("Context.PROVIDER_URL",providerURL);

props.put("java.naming.provider.url",providerURL);

props.put("java.naming.factory.initial",factoryName);

props.put("java.naming.factory.url.pkgs", factoryPkgs);

Context ctx = new InitialContext(props);

Object obj = ctx.lookup("org/retro/gis/system/StudentCMP");

StudentCMPHome home = (StudentCMPHome)

javax.rmi.PortableRemoteObject.narrow(obj, StudentCMPHome.class);

System.out.println("Lookup Success..........");

} // end of the method ...

} // end of the classs...

************************ Descriptor

******************* 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>JBoss HelloWorldCMP Application</description>

<display-name>HelloWorldCMP EJB</display-name>

<enterprise-beans>

<!-- Session Beans -->

<session >

<description><![CDATA[Description for Count]]></description>

<display-name>Name for Count</display-name>

<ejb-name>Count</ejb-name>

<home>com.interfaces.CountHome</home>

<remote>com.interfaces.Count</remote>

<ejb-class>com.ejb.CountSession</ejb-class>

<session-type>Stateful</session-type>

<transaction-type>Container</transaction-type>

</session>

<session >

<description><![CDATA[Description for Hello]]></description>

<display-name>Name for Hello</display-name>

<ejb-name>Hello</ejb-name>

<home>com.interfaces.HelloHome</home>

<remote>com.interfaces.Hello</remote>

<ejb-class>com.ejb.HelloSession</ejb-class>

<session-type>Stateless</session-type>

<transaction-type>Container</transaction-type>

</session>

<entity>

<ejb-name>StudentCMP</ejb-name>

<home>org.retro.gis.system.StudentCMPHome</home>

<remote>org.retro.gis.system.StudentCMP</remote>

<local-home>org.retro.gis.system.StudentCMPLocalHome</local-home>

<local>org.retro.gis.system.StudentCMPLocal</local>

<ejb-class>org.retro.gis.system.StudentCMPBean</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>Student</abstract-schema-name>

<cmp-field><field-name>id</field-name></cmp-field>

<cmp-field><field-name>name</field-name></cmp-field>

<cmp-field><field-name>subject</field-name></cmp-field>

<primkey-field>id</primkey-field>

<query>

<description>Query for get all students</description>

<query-method>

<method-name>findAll</method-name>

<method-params></method-params>

</query-method>

<ejb-ql><![CDATA[ SELECT OBJECT(s)

FROM Student s

]]> </ejb-ql>

</query>

</entity>

</enterprise-beans>

<assembly-descriptor >

<security-role>

<description>

This role represents everyone who is allowed full access to the HelloWorldCMP EJB.

</description>

<role-name>everyone</role-name>

</security-role>

<method-permission>

<role-name>everyone</role-name>

<method>

<ejb-name>StudentCMP</ejb-name>

<method-name>*</method-name>

</method>

</method-permission>

<container-transaction>

<method>

<ejb-name>StudentCMP</ejb-name>

<method-name>*</method-name>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

</assembly-descriptor>

</ejb-jar>

*************jboss.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 4.0//EN" "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">

<jboss>

<enterprise-beans>

<session>

<ejb-name>Count</ejb-name>

<jndi-name>ejb/Count</jndi-name>

<method-attributes>

</method-attributes>

</session>

<session>

<ejb-name>Hello</ejb-name>

<jndi-name>ejb/Hello</jndi-name>

<resource-ref>

<res-ref-name>Datasource</res-ref-name>

<resource-name>MyDatabase</resource-name>

</resource-ref>

<method-attributes>

</method-attributes>

</session>

<entity>

<ejb-name>StudentCMP</ejb-name>

<jndi-name>org/retro/gis/system/StudentCMPHome</jndi-name>

<resource-ref>

<res-ref-name>Datasource</res-ref-name>

<resource-name>MyDatabase</resource-name>

</resource-ref>

</entity>

</enterprise-beans>

<assembly-descriptor>

</assembly-descriptor>

<resource-managers>

<resource-manager>

<res-name>MyDatabase</res-name>

<res-jndi-name>java:/DefaultDS1</res-jndi-name>

</resource-manager>

</resource-managers>

</jboss>

****************** jbosscmp-jdbc.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 4.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_4_0.dtd">

<jbosscmp-jdbc>

<enterprise-beans>

<entity>

<ejb-name>StudentCMP</ejb-name>

<create-table>true</create-table>

<remove-table>true</remove-table>

<table-name>simple</table-name>

<cmp-field>

<field-name>id</field-name>

<column-name>id</column-name>

</cmp-field>

<cmp-field>

<field-name>name</field-name>

<column-name>name</column-name>

<jdbc-type>VARCHAR</jdbc-type>

<sql-type>VARCHAR(50)</sql-type>

</cmp-field>

<cmp-field>

<field-name>subject</field-name>

<column-name>subject</column-name>

<jdbc-type>VARCHAR</jdbc-type>

<sql-type>VARCHAR(50)</sql-type>

</cmp-field>

</entity>

</enterprise-beans>

</jbosscmp-jdbc>

********** mysql-ds.xml

<?xml version="1.0" encoding="UTF-8"?>

<!-- $Id: mysql-ds.xml,v 1.3.2.3 2006/02/07 14:23:00 acoliver Exp $ -->

<!-- Datasource config for MySQL using 3.0.9 available from:

http://www.mysql.com/downloads/api-jdbc-stable.html

-->

<datasources>

<local-tx-datasource>

<jndi-name>DefaultDS1</jndi-name>

<connection-url>jdbc:mysql://192.168.5.204:3306/gcs1</connection-url>

<driver-class>com.mysql.jdbc.Driver</driver-class>

<user-name>gcs_user</user-name>

<password>gcs_pass</password>

<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

<metadata>

<type-mapping>mySQL</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>

Please check the code and advise me what silly mistake i have done.

Thanks

Message was edited by:

raviadha

raviadhaa at 2007-7-12 2:17:13 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3
Hello, ANY HELP PLEASE ?
raviadhaa at 2007-7-12 2:17:13 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...