24. februar 2004 - 12:53
Der er
1 kommentar og
1 løsning
XDoclet og CMR
Vi har en-til-mange og mange-til-mange relationer mellem vores entiter i vores ER diagram. Nogle af disse mange-til-mange relationer indeholder også attributter som gør det hele mere kompleks. Disse relationer skal vi så have implementeret i vores entity beans.
Hvordan gøres det via XDoclet og CMR?
25. februar 2004 - 14:58
#1
Hvis det hjælper forsøger vi således mellem File og Info Entity Beans, hvor der er en mange til mange forhold :
File:
/**
* @ejb.interface-method
* view-type="local"
*
* @ejb.relation
* name="File-Info"
* role-name="File-has-Info"
* target-ejb="Info"
* target-role-name="Info-has-File"
*
*
* @jboss.relation
* fk-column="infoid"
* related-pk-field="id"
*
* @jboss.relation-table
* table-name="fileinfo"
* create-table="true"
* remove-table="true"
*
*/
public abstract java.util.Collection getInfo();
Info:
/**
* @ejb.interface-method
* view-type="local"
*
* @ejb.relation
* name="Info-File"
* role-name="Info-has-File"
* target-ejb="File"
* target-role-name="File-has-Info"
*
*
* @jboss.relation
* fk-column="fileid"
* related-pk-field="id"
*
* @jboss.relation-table
* table-name="fileinfo"
* create-table="true"
* remove-table="true"
*/
public abstract java.util.Collection getFiles();
Men vi får denne fejl:
Exception: Atleast one role of a foreign-key mapped relationship must have key fields (or <primkey-field> is miss ing from ejb-jar.xml): ejb-relation-name=File-Type, ObjectName: jboss.j2ee:jndiN ame=Streamlog,service=EJB
state: FAILED
I Depend On:
Depends On Me: org.jboss.deployment.DeploymentException: Atleast one role of a foreign-key mapped relationship must have key fields (or <primkey-field> is miss ing from ejb-jar.xml): ejb-relation-name=File-Type, ObjectName: jboss.j2ee:jndiN ame=FileInfo,service=EJB
state: FAILED
I Depend On:
Depends On Me: org.jboss.deployment.DeploymentException: Atleast one role of a foreign-key mapped relationship must have key fields (or <primkey-field> is miss ing from ejb-jar.xml): ejb-relation-name=File-Type, ObjectName: jboss.j2ee:jndiN ame=Type,service=EJB
state: FAILED
I Depend On:
Depends On Me: org.jboss.deployment.DeploymentException: Atleast one role of a foreign-key mapped relationship must have key fields (or <primkey-field> is miss
25. februar 2004 - 16:13
#2
Du har givet din relation to forskellige navne, både "File-Info" og "Info-File". Role name er muligheden for at navngive de to forskellige veje i relationen forskelligt.