Hi All, I am using JBoss 4.0.2 and Postgres 7.2 as my database server. Now I am trying to insert a record in the DB using CMP beans meaning I have not written any SQL statements. Only abstract methods and the primarykey field is autogenerated by the DB. i.e it is of Serial type.
Now when I run the EJB only the primary key field is generated by the rest of the values are not entered in the Database.Can anyone tell me why this could happen. Here is my META-INF directory in JBoss 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> <!-- Added --> <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> <!-- End --> </enterprise-beans> </ejb-jar> ---------------------------------------------------------------------- My 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"> <!-- ===================================================================== --> <!-- --> <!-- Standard JBossCMP-JDBC Configuration --> <!-- --> <!-- ===================================================================== --> <!-- $Id: standardjbosscmp-jdbc.xml,v 1.84.2.6 2005/01/26 18:51:35 starksm Exp $ --> <jbosscmp-jdbc> java:/PostgresDS <!-- optional since 4.0 <datasource-mapping>Hypersonic SQL</datasource-mapping> --> <create-table>true</create-table> <remove-table>false</remove-table> <read-only>false</read-only> <read-time-out>300000</read-time-out> <row-locking>false</row-locking> <pk-constraint>true</pk-constraint> <fk-constraint>false</fk-constraint> <enterprise-beans> <ejb-name>AnesthesiaUser</ejb-name> <pk-constraint>true</pk-constraint> <table-name>AnesthesiaUser</table-name> <cmp-field> <field-name>userid</field-name> <column-name>userid</column-name> <jdbc-type>BIGINT</jdbc-type> <sql-type>SERIAL</sql-type> </cmp-field> <cmp-field> <field-name>username</field-name> <column-name>username</column-name> <jdbc-type>VARCHAR</jdbc-type> <sql-type>Text</sql-type> </cmp-field> <cmp-field> <field-name>password</field-name> <column-name>password</column-name> <jdbc-type>VARCHAR</jdbc-type> <sql-type>Text</sql-type> </cmp-field> <cmp-field> <field-name>usertype</field-name> <column-name>usertype</column-name> <jdbc-type>VARCHAR</jdbc-type> <sql-type>Text</sql-type> </cmp-field> <cmp-field> <field-name>createddate</field-name> <column-name>createddate</column-name> <jdbc-type>DATE</jdbc-type> <sql-type>DATETIME</sql-type> </cmp-field> <cmp-field> <field-name>updateddate</field-name> <column-name>updateddate</column-name> <jdbc-type>DATE</jdbc-type> <sql-type>DATETIME</sql-type> </cmp-field> <query-method> <method-name>findByUsername</method-name> <method-params> <method-param>java.lang.String</method-param> </method-params> </query-method> <jboss-ql><![CDATA[ SELECT OBJECT(u) FROM AnesthesiaUser u WHERE u.username = ?1 ]]></jboss-ql> <entity-command name="postgresql-fetch-seq"/> <!-- Added --> <ejb-name>Hospital</ejb-name> <pk-constraint>true</pk-constraint> <table-name>Hospital</table-name> <cmp-field> <field-name>hospitalid</field-name> <column-name>hospitalid</column-name> <jdbc-type>BIGINT</jdbc-type> <sql-type>SERIAL</sql-type> </cmp-field> <cmp-field> <field-name>hospitalname</field-name> <column-name>hospitalname</column-name> <jdbc-type>VARCHAR</jdbc-type> <sql-type>Text</sql-type> </cmp-field> <entity-command name="postgresql-fetch-seq"/> <!-- End --> </enterprise-beans> </jbosscmp-jdbc> ----------------------------------------------------------------------------------- My postgresDS.xml <?xml version="1.0" encoding="UTF-8"?> <!-- ===================================================================== --> <!-- --> <!-- JBoss Server Configuration --> <!-- --> <!-- ===================================================================== --> <!-- $Id: postgres-ds.xml,v 1.3 2004/09/15 14:37:40 loubyansky Exp $ --> <!-- ==================================================================== --> <!-- Datasource config for Postgres --> <!-- ==================================================================== --> <local-tx-datasource> <jndi-name>PostgresDS</jndi-name> <connection-url>jdbc:postgresql://192.168.1.33:5432/MyDB</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>postgres</user-name> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> <type-mapping>PostgreSQL 7.2</type-mapping> </local-tx-datasource> Please can any one tell me the reason. When I debug i can see all the values which I pass from the frontend in my ejbCreate() method. Thanks in Advance Cheers Sameer View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3886298#3886298 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3886298 ------------------------------------------------------- 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 [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
