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);
>
>
|
|
|
|
|