I have looked all over the place for an answer for this. I want to use a foreign key as a primary key. How do I declare this using xdoclet.
I am doing this in two instances: 1) I am doing this in a one-to-one relationship where the foreign key is the same as the primary key. 2) I need to know how to do this in a composite primary key. I have successfuly declared a Entity Bean to generate a Primary Key Class but it does not generate code for the foreign key in the Primary Key Class. | /*************************************** | * * | * JBoss: The OpenSource J2EE WebOS * | * * | * Distributable under LGPL license. * | * See terms of license at gnu.org. * | * * | ***************************************/ | package org.jboss.nukes.addons.modules.test.ejb; | | | import javax.ejb.EntityBean; | import javax.ejb.CreateException; | import javax.ejb.EntityContext; | | import java.util.Collection; | | /** | * MediaHasMissions EJB for the test module | * | * @author <a href="mailto:[EMAIL PROTECTED]">Dennis Przybyla</a> | * @version $Revision: 1.1 $ | * | * @ejb.bean | * name="MediaHasMissionsEJB" | * displayContent-name="MediaHasMissions" | * type="CMP" | * cmp-version="2.x" | * view-type="local" | * local-jndi-name="nukes/test/MediaHasMissions" | * schema="MediaHasMissions" | * | * @ejb.pk | * extends="java.lang.Object" | * package="org.jboss.nukes.addons.modules.test.ejb" | * generate="true" | * | * @ejb.transaction | * type="Required" | * | * @ejb.persistence | * table-name="MediaHasMissions" | * | * @jboss.persistence | * create-table="true" | * remove-table="false" | * | * @jboss.entity-command | * name="nukes-entity-command" | * | */ | public abstract class MediaHasMissionsEJB implements EntityBean | { | | /** | * @ejb.create-method | */ | public Long ejbCreate(MediaEJBLocal media, MissionEJBLocal mission) | throws CreateException | { | return null; | } | | | public void ejbPostCreate(MediaEJBLocal media, MissionEJBLocal mission) | throws CreateException | { | setMission(mission); | setMedia(media); | } | | /** | * @ejb.interface-method | * @ejb.relation | * name="MediaLink-Missions" | * role-name="MediaLink-has-Missions" | * @ejb.pk-field | * @jboss.relation | * fk-column="missionId" | * related-pk-field="missionId" | */ | public abstract org.jboss.nukes.addons.modules.test.ejb.MissionEJBLocal getMission(); | | /** | * @ejb.interface-method | */ | public abstract void setMission(org.jboss.nukes.addons.modules.test.ejb.MissionEJBLocal mission); | | /** | * @ejb.interface-method | * @ejb.relation | * name="MissionLinks-Media" | * role-name="MissionLinks-has-Media" | * @ejb.pk-field | * @jboss.relation | * fk-column="mediaId" | * related-pk-field="mediaId" | */ | public abstract org.jboss.nukes.addons.modules.test.ejb.MediaEJBLocal getMedia(); | | /** | * @ejb.interface-method | */ | public abstract void setMedia(org.jboss.nukes.addons.modules.test.ejb.MediaEJBLocal media); | | // ejb callbacks ------------------------------------------------------------ | | public void ejbActivate() { } | public void ejbPassivate() { } | public void ejbRemove() { } | public void setEntityContext(EntityContext entityContext) { } | public void unsetEntityContext() { } | public void ejbLoad() { } | public void ejbStore() { } | | } | This code generates the following PK Class: | /* | * Generated by XDoclet - Do not edit! | */ | package org.jboss.nukes.addons.modules.test.ejb; | | /** | * Primary key for MediaHasMissionsEJB. | */ | public class MediaHasMissionsEJBPK | extends java.lang.Object | implements java.io.Serializable | { | private int _hashCode = 0; | private StringBuffer _toStringValue = null; | | public MediaHasMissionsEJBPK() | { | } | | public MediaHasMissionsEJBPK( ) | { | } | | public int hashCode() | { | if( _hashCode == 0 ) | { | } | | return _hashCode; | } | | public boolean equals(Object obj) | { | if( !(obj instanceof org.jboss.nukes.addons.modules.test.ejb.MediaHasMissionsEJBPK) ) | return false; | | org.jboss.nukes.addons.modules.test.ejb.MediaHasMissionsEJBPK pk = (org.jboss.nukes.addons.modules.test.ejb.MediaHasMissionsEJBPK)obj; | boolean eq = true; | | if( obj == null ) | { | eq = false; | } | else | { | } | | return eq; | } | | /** @return String representation of this pk in the form of [.field1.field2.field3]. */ | public String toString() | { | if( _toStringValue == null ) | { | _toStringValue = new StringBuffer("[."); | _toStringValue.append(']'); | } | | return _toStringValue.toString(); | } | | } | notice the second constructor has no code for the Foreign Key. Any Ideas would really be appreciated. <a href="http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3827156#3827156">View the original post</a> <a href="http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3827156>Reply to the post</a> ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
