Avatar billede aslan Nybegynder
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?
Avatar billede aslan Nybegynder
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
Avatar billede normann1974 Nybegynder
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.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester