1 Reply Latest reply on Feb 6, 2002 2:32 AM by ericjee

    deploy prob on jboss 3.0.0alpha (JDBCEntityBridge.loadSelect

    ericjee

      Hi,
      I've been going through the message boards and I looked up my error I got when deploying my bean, which is :

      java.lang.NullPointerException
      at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.loadSelectors(
      JDBCEntityBridge.java:213)
      at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.(JDBCEnt
      ityBridge.java:90)
      at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.init(JDBCStoreManager
      .....

      Usually people come up with a EJB-QL error( something like I did not have the right case). I cannot see one, can someone find the problem with this XML file I have?
      Sorry its so long....


      <?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>
      <display-name>XMLInsider</display-name>

      <!-- ######################################################### 171 -->
      <enterprise-beans>

      <!-- ******************************************* -->


      <display-name>User</display-name>
      <ejb-name>User</ejb-name>
      UserHome
      User
      <ejb-class>UserBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Integer</prim-key-class>
      <!-- <primkey-field>PKUserId</primkey-field> -->
      True
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>User</abstract-schema-name>
      <cmp-field>
      <field-name>PKUserId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>UserName</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>Password</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>AccountStatus</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>ExpirationDate</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>LockDate</field-name>
      </cmp-field>
      <ejb-local-ref>
      <ejb-ref-name>Address</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
      <local-home>AddressLocalHome</local-home>
      AddressLocal
      <ejb-link>Address</ejb-link>
      </ejb-local-ref>
      <ejb-local-ref>
      <ejb-ref-name>Reminders</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
      <local-home>RemindersLocalHome</local-home>
      RemindersLocal
      <ejb-link>Reminders</ejb-link>
      </ejb-local-ref>
      <ejb-local-ref>
      <ejb-ref-name>WebServices</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
      <local-home>WebServicesLocalHome</local-home>
      WebServicesLocal
      <ejb-link>WebServices</ejb-link>
      </ejb-local-ref>


      Find by Primary Key
      <query-method>
      <method-name>findByPrimaryKey</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <ejb-ql>
      SELECT DISTINCT OBJECT(u)
      FROM User u
      WHERE u.PKUserId=?1
      </ejb-ql>




      <query-method>
      <method-name>ejbSelectWebServices</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <result-type-mapping>Remote</result-type-mapping>
      <ejb-ql>
      SELECT OBJECT(e2b) FROM WebServices e2b WHERE e2b.PKUserId = ?1
      </ejb-ql>


      <query-method>
      <method-name>ejbSelectWebService</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <result-type-mapping>Remote</result-type-mapping>
      <ejb-ql>
      SELECT OBJECT(e2b) FROM WebServices e2b WHERE e2b.PKUserId = ?1
      </ejb-ql>



      <query-method>
      <method-name>ejbSelectReminders</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <result-type-mapping>Remote</result-type-mapping>
      <ejb-ql>
      SELECT OBJECT(e2b) FROM Reminders e2b WHERE e2b.PKUserId = ?1
      </ejb-ql>


      <query-method>
      <method-name>ejbSelectReminder</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <result-type-mapping>Remote</result-type-mapping>
      <ejb-ql>
      SELECT OBJECT(e2b) FROM Reminders e2b WHERE e2b.PKUserId = ?1
      </ejb-ql>





      <!-- ******************************************* -->


      <display-name>Address</display-name>
      <ejb-name>Address</ejb-name>
      <local-home>AddressLocalHome</local-home>
      AddressLocal
      <ejb-class>AddressBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Integer</prim-key-class>
      <!-- <primkey-field>PKAddressId</primkey-field> -->
      True
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>Address</abstract-schema-name>
      <cmp-field>
      <field-name>PKAddressId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>FKUserId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>FirstName</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>MiddleInitial</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>LastName</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>AddressFirst</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>AddressSecond</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>AddressThird</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>City</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>State</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>Country</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>PostalCode</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>PhoneNumber</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>FaxNumber</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>Email</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>Position</field-name>
      </cmp-field>

      Find by Primary Key
      <query-method>
      <method-name>findByPrimaryKey</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <ejb-ql>
      SELECT DISTINCT OBJECT(a)
      FROM Address a
      WHERE a.PKAddressId=?1
      </ejb-ql>



      <!-- ******************************************* -->


      <display-name>Reminders</display-name>
      <ejb-name>Reminders</ejb-name>
      <local-home>RemindersLocalHome</local-home>
      RemindersLocal
      <ejb-class>RemindersBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Integer</prim-key-class>
      <!-- <primkey-field>PKReminderId</primkey-field> -->
      True
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>Reminders</abstract-schema-name>
      <cmp-field>
      <field-name>PKReminderId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>FKUserId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>ReminderSummary</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>ReminderDetail</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>ReminderDateCreated</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>ReminderDateFor</field-name>
      </cmp-field>

      Find by Primary Key
      <query-method>
      <method-name>findByPrimaryKey</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <ejb-ql>
      SELECT DISTINCT OBJECT(r)
      FROM Reminder r
      WHERE r.PKReminderId=?1
      </ejb-ql>



      <!-- ******************************************* -->


      <display-name>WebServices</display-name>
      <ejb-name>WebServices</ejb-name>
      <local-home>WebServicesLocalHome</local-home>
      WebServicesLocal
      <ejb-class>WebServicesBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Integer</prim-key-class>
      <!-- <primkey-field>PKWebServicesId</primkey-field> -->
      True
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>WebServices</abstract-schema-name>
      <cmp-field>
      <field-name>PKWebServicesId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>FKUserId</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>WebServicesSummary</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>WebServicesDetail</field-name>
      </cmp-field>
      <cmp-field>
      <field-name>WebServicesCreationDate</field-name>
      </cmp-field>

      Find by Primary Key
      <query-method>
      <method-name>findByPrimaryKey</method-name>
      <method-params>
      <method-param>java.lang.Integer</method-param>
      </method-params>
      </query-method>
      <ejb-ql>
      SELECT DISTINCT OBJECT(w)
      FROM WebServices w
      WHERE w.PKWebServicessId=?1
      </ejb-ql>


      </enterprise-beans>

      <!-- ######################################################### -->


      <!-- ******************************************* -->

      <ejb-relation>
      <ejb-relation-name>User has Entity Address</ejb-relation-name>

      <ejb-relationship-role>
      <ejb-relationship-role-name>User has Address</ejb-relationship-role-name>
      One
      <relationship-role-source>
      <ejb-name>User</ejb-name>
      </relationship-role-source>
      <cmr-field>
      <cmr-field-name>WebServices</cmr-field-name>
      <cmr-field-type>java.util.Collection</cmr-field-type>
      </cmr-field>
      </ejb-relationship-role>

      <ejb-relationship-role>
      <ejb-relationship-role-name>Address has User</ejb-relationship-role-name>
      One
      <relationship-role-source>
      <ejb-name>Address</ejb-name>
      </relationship-role-source>
      <foreign-key-fields>
      <foreign-key-field>
      <field-name>FKUserId</field-name>
      <column-name>FKUserId</column-name>
      </foreign-key-field>
      </foreign-key-fields>
      </ejb-relationship-role>

      </ejb-relation>

      <!-- ******************************************* -->


      <ejb-relation>
      <ejb-relation-name>User has Entity Reminders</ejb-relation-name>

      <ejb-relationship-role>
      <ejb-relationship-role-name>User has Reminder</ejb-relationship-role-name>
      One
      <relationship-role-source>
      <ejb-name>User</ejb-name>
      </relationship-role-source>
      <cmr-field>
      <cmr-field-name>Reminders</cmr-field-name>
      <cmr-field-type>java.util.Collection</cmr-field-type>
      </cmr-field>
      </ejb-relationship-role>

      <ejb-relationship-role>
      <ejb-relationship-role-name>Reminders has User</ejb-relationship-role-name>
      Many
      <relationship-role-source>
      <ejb-name>Reminders</ejb-name>
      </relationship-role-source>
      <foreign-key-fields>
      <foreign-key-field>
      <field-name>FKUserId</field-name>
      <column-name>FKUserId</column-name>
      </foreign-key-field>
      </foreign-key-fields>
      </ejb-relationship-role>

      </ejb-relation>

      <!-- ******************************************* -->

      <ejb-relation>
      <ejb-relation-name>User has Entity WebService</ejb-relation-name>
      <table-mapping>
      <table-name>User_WebServices</table-name>
      <create-table>true</create-table>
      <remove-table>false</remove-table>
      </table-mapping>

      <ejb-relationship-role>
      <ejb-relationship-role-name>User has WebService</ejb-relationship-role-name>
      <table-key-fields>
      <table-key-field>
      <field-name>FKUserId</field-name>
      <column-name>FKUserId</column-name>
      </table-key-field>
      </table-key-fields>
      One
      <relationship-role-source>
      <ejb-name>User</ejb-name>
      </relationship-role-source>
      <cmr-field>
      <cmr-field-name>WebServices</cmr-field-name>
      <cmr-field-type>java.util.Collection</cmr-field-type>
      </cmr-field>
      </ejb-relationship-role>

      <ejb-relationship-role>
      <ejb-relationship-role-name>WebService has User</ejb-relationship-role-name>
      <table-key-fields>
      <table-key-field>
      <field-name>FKWebServicesId</field-name>
      <column-name>FKWebServicesId</column-name>
      </table-key-field>
      </table-key-fields>
      Many
      <relationship-role-source>
      <ejb-name>WebServices</ejb-name>
      </relationship-role-source>
      <foreign-key-fields>
      <foreign-key-field>
      <field-name>FKUserId</field-name>
      <column-name>FKUserId</column-name>
      </foreign-key-field>
      </foreign-key-fields>
      </ejb-relationship-role>

      </ejb-relation>

      <!-- ******************************************* -->



      <!-- ######################################################### -->

      <assembly-descriptor>
      <container-transaction>

      <ejb-name>User</ejb-name>
      <method-name>*</method-name>

      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>

      <ejb-name>Address</ejb-name>
      <method-name>*</method-name>

      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>

      <ejb-name>Reminders</ejb-name>
      <method-name>*</method-name>

      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>

      <ejb-name>WebServices</ejb-name>
      <method-name>*</method-name>

      <trans-attribute>Required</trans-attribute>
      </container-transaction>
      </assembly-descriptor>
      </ejb-jar>


      Thanks so much,
      Eric Dunn

        • 1. Re: deploy prob on jboss 3.0.0alpha (JDBCEntityBridge.loadSe
          ericjee

          Here is an update, I made a few typos, and took out DISTINCT, renamed some of the EJB-QL entities to be unique Descriptor-wide(does this matter?), and made the return type local(remote I think is wrong, but not related to the original problem).

          This now modified XML file still throws the same error :

          [23:24:01,608,ContainerFactory] Could not deploy file:/E:/programming/java/jboss
          /jboss-3.0.0alpha/deploy/Default/XMLInsider.jar/
          java.lang.NullPointerException
          at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.loadSelectors(
          JDBCEntityBridge.java:213)
          at org.jboss.ejb.plugins.cmp.jdbc.bridge.JDBCEntityBridge.(JDBCEnt
          ityBridge.java:90)
          at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.init(JDBCStoreManager
          .java:117)
          at org.jboss.ejb.plugins.CMPPersistenceManager.init(CMPPersistenceManage
          r.java:141)


          Here is the new XML file for reference.

          <?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>
          <display-name>XMLInsider</display-name>

          <!-- ######################################################### 171 -->
          <enterprise-beans>

          <!-- ******************************************* -->


          <display-name>User</display-name>
          <ejb-name>User</ejb-name>
          UserHome
          User
          <ejb-class>UserBean</ejb-class>
          <persistence-type>Container</persistence-type>
          <prim-key-class>java.lang.Integer</prim-key-class>
          <!-- <primkey-field>PKUserId</primkey-field> -->
          True
          <cmp-version>2.x</cmp-version>
          <abstract-schema-name>User</abstract-schema-name>
          <cmp-field>
          <field-name>PKUserId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>UserName</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>Password</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>AccountStatus</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>ExpirationDate</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>LockDate</field-name>
          </cmp-field>
          <ejb-local-ref>
          <ejb-ref-name>Address</ejb-ref-name>
          <ejb-ref-type>Entity</ejb-ref-type>
          <local-home>AddressLocalHome</local-home>
          AddressLocal
          <ejb-link>Address</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
          <ejb-ref-name>Reminders</ejb-ref-name>
          <ejb-ref-type>Entity</ejb-ref-type>
          <local-home>RemindersLocalHome</local-home>
          RemindersLocal
          <ejb-link>Reminders</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
          <ejb-ref-name>WebServices</ejb-ref-name>
          <ejb-ref-type>Entity</ejb-ref-type>
          <local-home>WebServicesLocalHome</local-home>
          WebServicesLocal
          <ejb-link>WebServices</ejb-link>
          </ejb-local-ref>


          Find by Primary Key
          <query-method>
          <method-name>findByPrimaryKey</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <ejb-ql>
          SELECT OBJECT(u)
          FROM User u
          WHERE u.PKUserId=?1
          </ejb-ql>




          <query-method>
          <method-name>ejbSelectWebServices</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <result-type-mapping>Local</result-type-mapping>
          <ejb-ql>
          SELECT OBJECT(wss) FROM WebServices wss WHERE wss.FKUserId = ?1
          </ejb-ql>


          <query-method>
          <method-name>ejbSelectWebService</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <result-type-mapping>Local</result-type-mapping>
          <ejb-ql>
          SELECT OBJECT(ws) FROM WebServices ws WHERE ws.FKUserId = ?1
          </ejb-ql>


          <query-method>
          <method-name>ejbSelectReminders</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <result-type-mapping>Local</result-type-mapping>
          <ejb-ql>
          SELECT OBJECT(rs) FROM Reminders rs WHERE rs.FKUserId = ?1
          </ejb-ql>



          <query-method>
          <method-name>ejbSelectReminder</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <result-type-mapping>Local</result-type-mapping>
          <ejb-ql>
          SELECT OBJECT(r) FROM Reminders r WHERE r.FKUserId = ?1
          </ejb-ql>





          <!-- ******************************************* -->


          <display-name>Address</display-name>
          <ejb-name>Address</ejb-name>
          <local-home>AddressLocalHome</local-home>
          AddressLocal
          <ejb-class>AddressBean</ejb-class>
          <persistence-type>Container</persistence-type>
          <prim-key-class>java.lang.Integer</prim-key-class>
          <!-- <primkey-field>PKAddressId</primkey-field> -->
          True
          <cmp-version>2.x</cmp-version>
          <abstract-schema-name>Address</abstract-schema-name>
          <cmp-field>
          <field-name>PKAddressId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>FKUserId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>FirstName</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>MiddleInitial</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>LastName</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>AddressFirst</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>AddressSecond</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>AddressThird</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>City</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>State</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>Country</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>PostalCode</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>PhoneNumber</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>FaxNumber</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>Email</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>Position</field-name>
          </cmp-field>

          Find by Primary Key
          <query-method>
          <method-name>findByPrimaryKey</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <ejb-ql>
          SELECT OBJECT(a)
          FROM Address a
          WHERE a.PKAddressId=?1
          </ejb-ql>



          <!-- ******************************************* -->


          <display-name>Reminders</display-name>
          <ejb-name>Reminders</ejb-name>
          <local-home>RemindersLocalHome</local-home>
          RemindersLocal
          <ejb-class>RemindersBean</ejb-class>
          <persistence-type>Container</persistence-type>
          <prim-key-class>java.lang.Integer</prim-key-class>
          <!-- <primkey-field>PKReminderId</primkey-field> -->
          True
          <cmp-version>2.x</cmp-version>
          <abstract-schema-name>Reminders</abstract-schema-name>
          <cmp-field>
          <field-name>PKReminderId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>FKUserId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderSummary</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderDetail</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderDateCreated</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderDateFor</field-name>
          </cmp-field>

          Find by Primary Key
          <query-method>
          <method-name>findByPrimaryKey</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <ejb-ql>
          SELECT OBJECT(r)
          FROM Reminder r
          WHERE r.PKReminderId=?1
          </ejb-ql>




          <!-- ******************************************* -->


          <display-name>WebServices</display-name>
          <ejb-name>WebServices</ejb-name>
          <local-home>WebServicesLocalHome</local-home>
          WebServicesLocal
          <ejb-class>WebServicesBean</ejb-class>
          <persistence-type>Container</persistence-type>
          <prim-key-class>java.lang.Integer</prim-key-class>
          <!-- <primkey-field>PKWebServicesId</primkey-field> -->
          True
          <cmp-version>2.x</cmp-version>
          <abstract-schema-name>WebServices</abstract-schema-name>
          <cmp-field>
          <field-name>PKWebServicesId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>FKUserId</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>WebServicesSummary</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>WebServicesDetail</field-name>
          </cmp-field>
          <cmp-field>
          <field-name>WebServicesCreationDate</field-name>
          </cmp-field>

          Find by Primary Key
          <query-method>
          <method-name>findByPrimaryKey</method-name>
          <method-params>
          <method-param>java.lang.Integer</method-param>
          </method-params>
          </query-method>
          <ejb-ql>
          SELECT OBJECT(w)
          FROM WebServices w
          WHERE w.PKWebServicesId=?1
          </ejb-ql>


          </enterprise-beans>

          <!-- ######################################################### -->


          <!-- ******************************************* -->

          <ejb-relation>
          <ejb-relation-name>User has Entity Address</ejb-relation-name>

          <ejb-relationship-role>
          <ejb-relationship-role-name>User has Address</ejb-relationship-role-name>
          One
          <relationship-role-source>
          <ejb-name>User</ejb-name>
          </relationship-role-source>
          <cmr-field>
          <cmr-field-name>WebServices</cmr-field-name>
          <cmr-field-type>java.util.Collection</cmr-field-type>
          </cmr-field>
          </ejb-relationship-role>

          <ejb-relationship-role>
          <ejb-relationship-role-name>Address has User</ejb-relationship-role-name>
          One
          <relationship-role-source>
          <ejb-name>Address</ejb-name>
          </relationship-role-source>
          <foreign-key-fields>
          <foreign-key-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          </foreign-key-field>
          </foreign-key-fields>
          </ejb-relationship-role>

          </ejb-relation>

          <!-- ******************************************* -->


          <ejb-relation>
          <ejb-relation-name>User has Entity Reminders</ejb-relation-name>

          <ejb-relationship-role>
          <ejb-relationship-role-name>User has Reminder</ejb-relationship-role-name>
          One
          <relationship-role-source>
          <ejb-name>User</ejb-name>
          </relationship-role-source>
          <cmr-field>
          <cmr-field-name>Reminders</cmr-field-name>
          <cmr-field-type>java.util.Collection</cmr-field-type>
          </cmr-field>
          </ejb-relationship-role>

          <ejb-relationship-role>
          <ejb-relationship-role-name>Reminders has User</ejb-relationship-role-name>
          Many
          <relationship-role-source>
          <ejb-name>Reminders</ejb-name>
          </relationship-role-source>
          <foreign-key-fields>
          <foreign-key-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          </foreign-key-field>
          </foreign-key-fields>
          </ejb-relationship-role>

          </ejb-relation>

          <!-- ******************************************* -->

          <ejb-relation>
          <ejb-relation-name>User has Entity WebService</ejb-relation-name>
          <table-mapping>
          <table-name>User_WebServices</table-name>
          <create-table>false</create-table>
          <remove-table>false</remove-table>
          </table-mapping>

          <ejb-relationship-role>
          <ejb-relationship-role-name>User has WebService</ejb-relationship-role-name>
          <table-key-fields>
          <table-key-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          </table-key-field>
          </table-key-fields>
          One
          <relationship-role-source>
          <ejb-name>User</ejb-name>
          </relationship-role-source>
          <cmr-field>
          <cmr-field-name>WebServices</cmr-field-name>
          <cmr-field-type>java.util.Collection</cmr-field-type>
          </cmr-field>
          </ejb-relationship-role>

          <ejb-relationship-role>
          <ejb-relationship-role-name>WebService has User</ejb-relationship-role-name>
          <table-key-fields>
          <table-key-field>
          <field-name>FKWebServicesId</field-name>
          <column-name>FKWebServicesId</column-name>
          </table-key-field>
          </table-key-fields>
          Many
          <relationship-role-source>
          <ejb-name>WebServices</ejb-name>
          </relationship-role-source>
          <foreign-key-fields>
          <foreign-key-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          </foreign-key-field>
          </foreign-key-fields>
          </ejb-relationship-role>

          </ejb-relation>

          <!-- ******************************************* -->



          <!-- ######################################################### -->

          <assembly-descriptor>
          <container-transaction>

          <ejb-name>User</ejb-name>
          <method-name>*</method-name>

          <trans-attribute>Required</trans-attribute>
          </container-transaction>
          <container-transaction>

          <ejb-name>Address</ejb-name>
          <method-name>*</method-name>

          <trans-attribute>Required</trans-attribute>
          </container-transaction>
          <container-transaction>

          <ejb-name>Reminders</ejb-name>
          <method-name>*</method-name>

          <trans-attribute>Required</trans-attribute>
          </container-transaction>
          <container-transaction>

          <ejb-name>WebServices</ejb-name>
          <method-name>*</method-name>

          <trans-attribute>Required</trans-attribute>
          </container-transaction>
          </assembly-descriptor>
          </ejb-jar>

          Also, is it possible that my jbosscmp-jdbc.xml could be throwing the error? Here is that file.


          <!-- db map, create table decl, table mappings,
          eager and lazy load (o), dependent object relations (if Exists)-->
          <jbosscmp-jdbc>
          <enterprise-beans>

          <!-- ********************************************* -->


          <ejb-name>User</ejb-name>
          <table-name>user</table-name>
          java:/DefaultDS
          <type-mapping>Hypersonic SQL</type-mapping>

          true
          <create-table>true</create-table>
          <remove-table>false</remove-table>
          <read-only>false</read-only>
          <time-out>300</time-out>
          <select-for-update>false</select-for-update>
          <pk-constraint>false</pk-constraint>
          <read-ahead>true</read-ahead>
          <cmp-field>
          <field-name>PKUserId</field-name>
          <column-name>PKUserId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>UserName</field-name>
          <column-name>PKUserId</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>Password</field-name>
          <column-name>Password</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>AccountStatus</field-name>
          <column-name>AccountStatus</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>ExpirationDate</field-name>
          <column-name>ExpirationDate</column-name>
          <jdbc-type>DATE</jdbc-type>
          <sql-type>DATE</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>LockDate</field-name>
          <column-name>LockDate</column-name>
          <jdbc-type>DATE</jdbc-type>
          <sql-type>DATE</sql-type>
          </cmp-field>


          <!-- ********************************************* -->


          <ejb-name>Address</ejb-name>
          <table-name>Address</table-name>
          java:/DefaultDS
          <type-mapping>Hypersonic SQL</type-mapping>
          true
          <create-table>false</create-table>
          <remove-table>false</remove-table>
          <read-only>false</read-only>
          <time-out>300</time-out>
          <select-for-update>false</select-for-update>
          <pk-constraint>false</pk-constraint>
          <read-ahead>true</read-ahead>
          <cmp-field>
          <field-name>PKAddressId</field-name>
          <column-name>PKAddressId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>FirstName</field-name>
          <column-name>FirstName</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>MiddleInitial</field-name>
          <column-name>MiddleInitial</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>LastName</field-name>
          <column-name>LastName</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>AddressFirst</field-name>
          <column-name>AddressFirst</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>AddressSecond</field-name>
          <column-name>AddressSecond</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>AddressThird</field-name>
          <column-name>AddressThird</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>City</field-name>
          <column-name>City</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>State</field-name>
          <column-name>State</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>Country</field-name>
          <column-name>Country</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>PostalCode</field-name>
          <column-name>PostalCode</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>PhoneNumber</field-name>
          <column-name>PhoneNumber</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>FaxNumber</field-name>
          <column-name>FaxNumber</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>Email</field-name>
          <column-name>Email</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>Position</field-name>
          <column-name>Position</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>


          <!-- ********************************************* -->


          <ejb-name>Reminders</ejb-name>
          <table-name> Reminders </table-name>
          java:/DefaultDS
          <type-mapping>Hypersonic SQL</type-mapping>
          true
          <create-table>false</create-table>
          <remove-table>false</remove-table>
          <read-only>false</read-only>
          <time-out>300</time-out>
          <select-for-update>false</select-for-update>
          <pk-constraint>false</pk-constraint>
          <read-ahead>true</read-ahead>
          <cmp-field>
          <field-name>PKReminderId</field-name>
          <column-name>PKReminderId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderSummary</field-name>
          <column-name>ReminderSummary</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderDetail</field-name>
          <column-name>ReminderDetail</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderDateCreated</field-name>
          <column-name>ReminderDateCreated</column-name>
          <jdbc-type>DATE</jdbc-type>
          <sql-type>DATE</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>ReminderDateFor</field-name>
          <column-name>ReminderDateFor</column-name>
          <jdbc-type>DATE</jdbc-type>
          <sql-type>DATE</sql-type>
          </cmp-field>


          <!-- ********************************************* -->


          <ejb-name>WebServices</ejb-name>
          <table-name>WebServices</table-name>
          java:/DefaultDS
          <type-mapping>Hypersonic SQL</type-mapping>
          true
          <create-table>false</create-table>
          <remove-table>false</remove-table>
          <read-only>false</read-only>
          <time-out>300</time-out>
          <select-for-update>false</select-for-update>
          <pk-constraint>false</pk-constraint>
          <read-ahead>true</read-ahead>
          <cmp-field>
          <field-name>PKWebServicesId</field-name>
          <column-name>PKWebServicesId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>FKUserId</field-name>
          <column-name>FKUserId</column-name>
          <jdbc-type>INTEGER</jdbc-type>
          <sql-type>INTEGER</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>WebServicesSummary</field-name>
          <column-name>WebServicesSummary</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>WebServicesDetail</field-name>
          <column-name>WebServicesDetail</column-name>
          <jdbc-type>VARCHAR</jdbc-type>
          <sql-type>VARCHAR(10)</sql-type>
          </cmp-field>
          <cmp-field>
          <field-name>WebServicesCreationDate</field-name>
          <column-name>WebServicesCreationDate</column-name>
          <jdbc-type>DATE</jdbc-type>
          <sql-type>DATE</sql-type>
          </cmp-field>


          <!-- ********************************************* -->

          </enterprise-beans>
          </jbosscmp-jdbc>



          Thanks a lot, Eric