Hi,

Everything seems to be working fine until I deploy my EJB-Jar.  The problem
seems to have something to do with my primary key.  I�m not exactly sure
what I�m doing wrong as I have looked at the examples fairly closely.  Could
someone possibly point me in the right direction?

=============== ERROR ===============================
2002-05-10 19:31:44,908 ERROR [org.jboss.ejb.EjbModule] Initialization
failed
org.jboss.deployment.DeploymentException: primkey-field must be the same
type as prim-key-class
        at
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCCMPFieldMetaData.<init>(JDBCCMPF
ieldMetaData.java:130)
        at
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCEntityMetaData.<init>(JDBCEntity
MetaData.java:270)
        at
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCApplicationMetaData.<init>(JDBCA
pplicationMetaData.java:117)
        at
org.jboss.ejb.plugins.cmp.jdbc.metadata.JDBCXmlFileLoader.load(JDBCXmlFileLo
ader.java:52)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.loadJDBCEntityMetaData(JDBCS
toreManager.java:595)
        at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.create(JDBCStoreManager.java
:322)
        at
org.jboss.ejb.plugins.CMPPersistenceManager.create(CMPPersistenceManager.jav
a:155)
        at org.jboss.ejb.EntityContainer.create(EntityContainer.java:337)
        at org.jboss.ejb.Container.invoke(Container.java:790)
        at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1055)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
        at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.jav
a:867)
        at $Proxy0.create(Unknown Source)
====================================================================

gbEntry.java
==================================================================
package com.morelogs.guestbook.xdoclets;

import javax.ejb.*;
import com.morelogs.guestbook.interfaces.*;

/**
 * This is an gbEntry bean. It is an example of how to use the
 * EJBDoclet tags.
 *
 * @see Customer gbEntries are owned by gbUsers, and a gbUser can
 * have many gbEntries.
 *
 * @ejb:bean   name="guestbook/gbEntry"
 *             type="CMP"
 *             jndi-name="ejb/guestbook/gbEntry"
 *             primkey-field="entry_id"
 * @ejb:finder signature="Collection findAll()"
 *             unchecked="true"
 * @ejb:interface remote-class="com.morelogs.guestbook.interfaces.gbEntry"
 *
 * @jboss:table-name gbEntries
 * @jboss:data-source-name ejbGuestbookDS
 * @jboss:persistence
 */
public abstract class gbEntry implements javax.ejb.EntityBean {

   private javax.ejb.EntityContext _entityContext;

   /**
    * @param entry_id of this gbEntry
    */
   public abstract void setEntry_id(java.lang.Integer entry_id);

   /**
    * @return id of this gb entry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @ejb:pk-field
    */
   public abstract java.lang.Integer getEntry_id();


   /**
    * @param name author_id of this gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name author_id
    */
   public abstract void setAuthor_id(java.lang.Integer author_id);

   /**
    * @return author_id of this gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name author_id
    */
   public abstract java.lang.Integer getAuthor_id();


   /**
    * @param entry_subject of gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_subject
    */
   public abstract void setEntry_subject(java.lang.String entry_subject);

   /**
    * @return subject of this gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_subject
    */
   public abstract java.lang.String getEntry_subject();


   /**
    * @param text of gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_text
    */
   public abstract void setEntry_text(java.lang.String entry_text);

   /**
    * @return text of this gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_text
    */
   public abstract java.lang.String getEntry_text();


   /**
    * @param date of gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_date
    */
   public abstract void setEntry_date(java.lang.String entry_date);

   /**
    * @return date of this gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_date
    */
   public abstract java.lang.String getEntry_date();


   /**
    * @param views of gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_views
    */
   public abstract void setEntry_views(java.lang.Integer entry_views);

   /**
    * @return views of this gbEntry
    *
    * @ejb:interface-method both
    * @ejb:persistent-field
    * @jboss:column-name entry_views
    */
   public abstract java.lang.Integer getEntry_views();

    /**
    * Create gbEntry.
    *
    * @ejb:create-method
    * @ejb:permission role-name="Administrator"
    */
   public gbEntryPK ejbCreate(Integer entry_id) throws CreateException {
      setEntry_id(entry_id);

      return null;
   }

   public void ejbPostCreate(Integer entry_id) throws CreateException {
   }

   public void setEntityContext(javax.ejb.EntityContext entityContext) {
      _entityContext = entityContext;
   }

   public void unsetEntityContext() {
      _entityContext = null;
   }

   public void ejbLoad() {
   }

   public void ejbActivate() {
   }

   public void ejbPassivate() {
   }

   public void ejbRemove() throws javax.ejb.RemoveException {
   }

   public void ejbStore() {
   }
}
==============================================================

ejb-jar.xml
==============================================================
      <!-- Entity Beans -->
      <entity >
         <description><![CDATA[This is an gbEntry bean.]]></description>

         <ejb-name>guestbook/gbEntry</ejb-name>

         <home>com.morelogs.guestbook.interfaces.gbEntryHome</home>
         <remote>com.morelogs.guestbook.interfaces.gbEntry</remote>

         <ejb-class>com.morelogs.guestbook.beans.gbEntryCMP</ejb-class>
         <persistence-type>Container</persistence-type>

<prim-key-class>com.morelogs.guestbook.interfaces.gbEntryPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>guestbook/gbEntry</abstract-schema-name>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>entry_id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>author_id</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>entry_subject</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>entry_text</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>entry_date</field-name>
         </cmp-field>
         <cmp-field >
            <description><![CDATA[]]></description>
            <field-name>entry_views</field-name>
         </cmp-field>
         <primkey-field>entry_id</primkey-field>

      </entity>
===================================================================
I would appreciate any help on this matter.

Many thanks

Michael


_______________________________________________________________

Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: [EMAIL PROTECTED]
_______________________________________________
Xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to