Hi-- Well, I added the auto-increment tag to jbosscmp-jdbc.xml, and the null primary key exception is still thrown:
2003-12-03 13:48:18,261 ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackLocalException in method: public abstract void homebrew.ejb.interfaces.accountHolderBeanLocal.setaccountHolderBeanValue(hom ebrew.ejb.interfaces.accountHolderBeanValue), causedBy: javax.ejb.CreateException: Primary key for created instance is null. at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManage r.java:520) at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManag er.java:208) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntit y(CachedConnectionInterceptor.java:269) at org.jboss.ejb.EntityContainer.createLocalHome(EntityContainer.java:580) 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 org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContaine r.java:1042) at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.jav a:88) at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySync hronizationInterceptor.java:197) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome( CachedConnectionInterceptor.java:214) at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.jav a:88) at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInt erceptor.java:89) at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor .java:61) at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInt erceptor.java:28) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor .java:88) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT. java:267) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:98) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.jav a:92) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryF inderInterceptor.java:93) at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:484) at org.jboss.ejb.Container.invoke(Container.java:720) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyF actory.java:293) at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:110) at $Proxy36.create(Unknown Source) at homebrew.ejb.entity.accountHolderBeanCMP.addAcctRecipe(accountHolderBeanCMP. java:167) at homebrew.ejb.entity.accountHolderBeanCMP.setaccountHolderBeanValue(accountHo lderBeanCMP.java:302) Here is the new jbosscmp-jdbc.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.2//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_2.dtd"> <jbosscmp-jdbc> <defaults> <datasource>java:/DefaultDS</datasource> <datasource-mapping>Hypersonic SQL</datasource-mapping> </defaults> <enterprise-beans> <!-- To add beans that you have deployment descriptor info for, add a file to your XDoclet merge directory called jbosscmp-jdbc-beans.xml that contains the <entity></entity> markup for those beans. --> <entity> <ejb-name>AccountRecipeBean</ejb-name> <table-name>recipe</table-name> <cmp-field> <field-name>recipeId</field-name> <column-name>recipe_id</column-name> <auto-increment/> </cmp-field> <cmp-field> <field-name>accountId</field-name> <column-name>account_id</column-name> </cmp-field> <cmp-field> <field-name>recipeName</field-name> <column-name>recipe_name</column-name> </cmp-field> <entity-command name="hsqldb-fetch-key"> </entity-command> <!-- jboss 3.2 features --> <!-- optimistic locking does not express the exclusions needed --> </entity> <entity> <ejb-name>RecipeHopsBean</ejb-name> <datasource>java:/DefaultDS</datasource> <datasource-mapping>Hypersonic SQL</datasource-mapping> <table-name>recipe_hops</table-name> <cmp-field> <field-name>recipeHopId</field-name> <column-name>recipe_hop_id</column-name> </cmp-field> <cmp-field> <field-name>recipeId</field-name> <column-name>recipe_id</column-name> </cmp-field> <cmp-field> <field-name>hopsRefId</field-name> <column-name>ref_recipe_hops_id</column-name> </cmp-field> <cmp-field> <field-name>hopForm</field-name> <column-name>hop_form</column-name> </cmp-field> <entity-command name="hsqldb-fetch-key"> </entity-command> <!-- jboss 3.2 features --> <!-- optimistic locking does not express the exclusions needed --> </entity> <entity> <ejb-name>accountAddressBean</ejb-name> <table-name>account_address</table-name> <cmp-field> <field-name>accountId</field-name> <column-name>account_id</column-name> </cmp-field> <cmp-field> <field-name>addressType</field-name> <column-name>address_type</column-name> </cmp-field> <cmp-field> <field-name>streetNumber</field-name> <column-name>str_num</column-name> </cmp-field> <cmp-field> <field-name>streetName</field-name> <column-name>str_name</column-name> </cmp-field> <cmp-field> <field-name>streetSuffix</field-name> <column-name>str_suffix</column-name> </cmp-field> <cmp-field> <field-name>city</field-name> <column-name>city</column-name> </cmp-field> <cmp-field> <field-name>state</field-name> <column-name>state</column-name> </cmp-field> <cmp-field> <field-name>zipCode</field-name> <column-name>zip</column-name> </cmp-field> <cmp-field> <field-name>zip4</field-name> <column-name>zip4</column-name> </cmp-field> <cmp-field> <field-name>primaryAddress</field-name> <column-name>primary_address</column-name> </cmp-field> <cmp-field> <field-name>billingAddress</field-name> <column-name>billing_address</column-name> </cmp-field> <!-- jboss 3.2 features --> <!-- optimistic locking does not express the exclusions needed --> </entity> <entity> <ejb-name>accountHolderBean</ejb-name> <table-name>account</table-name> <cmp-field> <field-name>accountId</field-name> <column-name>account_id</column-name> <auto-increment/> </cmp-field> <cmp-field> <field-name>accountRoleId</field-name> <column-name>account_role_id</column-name> </cmp-field> <cmp-field> <field-name>emailAddress</field-name> <column-name>email_address</column-name> </cmp-field> <cmp-field> <field-name>emailTypeCd</field-name> <column-name>email_type_cd</column-name> </cmp-field> <cmp-field> <field-name>accountPassword</field-name> <column-name>account_password</column-name> </cmp-field> <cmp-field> <field-name>firstName</field-name> <column-name>first_name</column-name> </cmp-field> <cmp-field> <field-name>SSN</field-name> <column-name>ssn</column-name> </cmp-field> <entity-command name="hsqldb-fetch-key"> </entity-command> <!-- jboss 3.2 features --> <!-- optimistic locking does not express the exclusions needed --> </entity> </enterprise-beans> <relationships> <ejb-relation> <ejb-relation-name>Account-Recipe</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>Recipe-Belongs-To-Account</ejb-relationship-role -name> <key-fields/> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>Account-Has-Recipes</ejb-relationship-role-name> <key-fields> <key-field> <field-name>accountId</field-name> <column-name>account_id</column-name> </key-field> </key-fields> </ejb-relationship-role> </ejb-relation> <ejb-relation> <ejb-relation-name>Recipe-Hops</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>Recipe-Has-Hops</ejb-relationship-role-name> <key-fields> <key-field> <field-name>recipeId</field-name> <column-name>recipe_id</column-name> </key-field> </key-fields> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>Hops-Belongs-To-Recipe</ejb-relationship-role-na me> <key-fields/> </ejb-relationship-role> </ejb-relation> <ejb-relation> <ejb-relation-name>Account-Address</ejb-relation-name> <ejb-relationship-role> <ejb-relationship-role-name>Account-Has-Addresses</ejb-relationship-role-nam e> <key-fields> <key-field> <field-name>accountId</field-name> <column-name>account_id</column-name> </key-field> </key-fields> </ejb-relationship-role> <ejb-relationship-role> <ejb-relationship-role-name>Address-Belongs-To-Account</ejb-relationship-rol e-name> <key-fields/> </ejb-relationship-role> </ejb-relation> </relationships> </jbosscmp-jdbc> Any other ideas? Regards, Matt Hanson -----Original Message----- From: Alexey Loubyansky [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 03, 2003 10:52 AM To: [EMAIL PROTECTED] Subject: Re: [JBoss-user] Container Responsibility for CMR Foreign Keys The auto incremented/generated field should have <auto-increment/> in jbosscmp-jdbc.xml ------------------------------------------------------- This SF.net email is sponsored by OSDN's Audience Survey. Help shape OSDN's sites and tell us what you think. Take this five minute survey and you could win a $250 Gift Certificate. http://www.wrgsurveys.com/2003/osdntech03.php?site=8 _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user ------------------------------------------------------- This SF.net email is sponsored by OSDN's Audience Survey. Help shape OSDN's sites and tell us what you think. Take this five minute survey and you could win a $250 Gift Certificate. http://www.wrgsurveys.com/2003/osdntech03.php?site=8 _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user