For Programmers: Free Programming Magazines  


Home > Archive > Java Beans > March 2004 > 1-many Relationship with XDoclet









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author 1-many Relationship with XDoclet
Simon Lammerding

2004-03-19, 8:46 pm

Hello,

I have a problem with a 1-many Relationship, I have written with XDoclet for
JBoss 3.2.3.
There is always this JBoss-Error:

Depends On Me: org.jboss.deployment.DeploymentException: Role
'EntityBean1-EntityBean2' on Entity Bean 'EntityBean2' : CMP field for key
not found: field name='EntityBean1ID', ObjectName:
jboss. j2ee:jndiName=EntityBean2Local,service=E
JB state: FAILED

My XDoclet-Tags are as follows:

Bean1:

/**
* @ejb.pk-field
* @ejb.persistence column-name = "Bean1ID"
* jdbc-type = "INTEGER"
*/
public abstract int getBean1ID();
public abstract void setBean1ID(int param);

/**
* @ejb.relation name = "Bean1-Bean2"
* role-name = "Many"
* @jboss.relation fk-column = "Bean1ID"
* related-pk-field = "Bean1ID"
*/
public abstract Bean2Local getBean2();
public abstract void setBean2(Bean2Local param);

Bean2:

/**
* @ejb.pk-field
* @ejb.persistence column-name = "IntProduktID"
* jdbc-type = "INTEGER"
*/
public abstract int getBean1ID();
public abstract void setBean1ID(int param);
/**
* @ejb.pk-field
* @ejb.persistence column-name = "IntBean2ID"
* jdbc-type = "INTEGER"
*/
public abstract int getBean2ID();
public abstract void setBean2ID(int param);

/**
* @ejb.relation name = "Bean1-Bean2"
* role-name = "One"
*/
public abstract Collection getBean1();
public abstract void setBean1(Collection param);


Michael Meyer

2004-03-19, 8:46 pm

Hi,

I think first you have to add the target ejb

@ejb.relation
target-ejb=. ...

relation-fk-column : name of the column in the database
related-pk-field : name of the field in you ejb

And you have to give the target relation in bean 2

@jboss.target-relation
related-pk-field
fk-column


Hope it helps

Michael


"Simon Lammerding" <spam@muelltonne.de> schrieb im Newsbeitrag
news:c2nrhs$vi7$1@sagnix.uni-muenster.de...
> Hello,
>
> I have a problem with a 1-many Relationship, I have written with XDoclet

for
> JBoss 3.2.3.
> There is always this JBoss-Error:
>
> Depends On Me: org.jboss.deployment.DeploymentException: Role
> 'EntityBean1-EntityBean2' on Entity Bean 'EntityBean2' : CMP field for key
> not found: field name='EntityBean1ID', ObjectName:
> jboss. j2ee:jndiName=EntityBean2Local,service=E
JB state: FAILED
>
> My XDoclet-Tags are as follows:
>
> Bean1:
>
> /**
> * @ejb.pk-field
> * @ejb.persistence column-name = "Bean1ID"
> * jdbc-type = "INTEGER"
> */
> public abstract int getBean1ID();
> public abstract void setBean1ID(int param);
>
> /**
> * @ejb.relation name = "Bean1-Bean2"
> * role-name = "Many"
> * @jboss.relation fk-column = "Bean1ID"
> * related-pk-field = "Bean1ID"
> */
> public abstract Bean2Local getBean2();
> public abstract void setBean2(Bean2Local param);
>
> Bean2:
>
> /**
> * @ejb.pk-field
> * @ejb.persistence column-name = "IntProduktID"
> * jdbc-type = "INTEGER"
> */
> public abstract int getBean1ID();
> public abstract void setBean1ID(int param);
> /**
> * @ejb.pk-field
> * @ejb.persistence column-name = "IntBean2ID"
> * jdbc-type = "INTEGER"
> */
> public abstract int getBean2ID();
> public abstract void setBean2ID(int param);
>
> /**
> * @ejb.relation name = "Bean1-Bean2"
> * role-name = "One"
> */
> public abstract Collection getBean1();
> public abstract void setBean1(Collection param);
>
>



Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com