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