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=EJB 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 - 11 Mar 2004 11:32 GMT
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
> Hello,
>
[quoted text clipped - 51 lines]
> public abstract Collection getBean1();
> public abstract void setBean1(Collection param);