Como puedo con XDoclet declarar en un ENTITY BEAN CMP (HAVE_INCOME) una PK (primary key) compuesta por tres atributos, y que dos de ellos sean FK (foreing key)? Usamos solo sw open source: postgreSql 7.3.3, JBOSS 3.07, XDOCLET, ECLIPSE + LOMBOZ. El siguiente diagrama conceptualiza nuestra problematica: +-------------+ +-----------------------------------+ |INCOME |1 *|HAVE_INCOME | +-------------+------+-----------------------------------| |codeIncome PK| |date PK | |name | |codeIncome PK,FK(references INCOME)| +-------------+ |codeWorker PK,FK(references WORKER)| |valor | +-----------------------------------+ *| | | 1| +-------------+ |WORKER | +-------------| |codeWorker PK| |nameWorker | +-------------+ INCOME = INGRESOS. HAVE_INCOME = TIENE_INGRESOS. WORKER = TRABAJADOR. code = codigo. +----------------------+ |Income | +----------------------+ |PK | | |codeIncome|nameIncome | +----------+-----------| |01 |salary | |02 |bonus | |03 |extra_hours| +----------------------+ +------------------------+ |Worker | +------------------------+ |PK | | |codeWorker|nameWorker | +----------+-------------| |W1 |John Doe | |W2 |William Smith| +------------------------+ +--------------------------------------+ |HAVE_INCOME | +--------------------------------------+ |PK |PK, FK |PK, FK | | |date |codeIncome|codeWorker|valor| +----------+----------+----------+-----| |03/01/2003|01 |W1 |1000 | |05/01/2003|02 |W1 |0500 | |08/01/2003|02 |W1 |0300 | |08/01/2003|03 |W1 |0500 | |04/01/2003|01 |W2 |1000 | |05/01/2003|02 |W2 |1500 | |05/01/2003|03 |W2 |0200 | +--------------------------------------+ Hemos desarrollao el siguiente codigo, pero al momento de hacer el deploy en Jboss, este lanza la siguiente excepcion: "attribute "icodigoestudiante" duplicated El codigo de InscriptionEJB es: package leufu; import javax.ejb.EntityBean; /** * @ejb.bean name="Inscripcion" * local-jndi-name="InscripcionBean" * type="CMP" * cmp-version="2.x" * view-type="local" * schema="Inscripcion" * * @ejb.persistence * table-name="inscripcion" * * @ejb.finder * query="SELECT OBJECT(a) FROM Inscripcion as a" * signature="java.util.Collection findAll()" * * @jboss.create-table true * **/ public abstract class InscripcionBean implements EntityBean { /** * * @ejb.create-method */ public InscripcionPK ejbCreate(String codigo, EstudianteLocal e, CursoLocal c) throws javax.ejb.CreateException { setIMatricula(codigo); return new InscripcionPK(codigo,e,c); } /** * The container invokes this method immediately after it calls ejbCreate. * */ public void ejbPostCreate(String codigo, EstudianteLocal e, CursoLocal c) throws javax.ejb.CreateException { setICodigoEstudiante(e); setICodigoCurso(c); } /** * * @ejb.persistent-field * @ejb.pk-field * @ejb.persistence * @jboss.column-name imatricula * @ejb.interface-method */ public abstract java.lang.String getIMatricula(); /** * @ejb.interface-method */ public abstract void setIMatricula(java.lang.String IMatricula); /** * * *@ejb.persistent-field *@ejb.pk-field *@ejb.persiste nce *@jboss.colum-name icodigoestudiante *@ejb.interface-method * /* para las relaciones * *@ejb.relation name="estudiante-inscripcion" *role-name="inscripcion-estudiante" *target-ejb="Estudiante" *target-role-name=" " *target-multiple="yes" * *@jboss.relation related-pk-field="eCodigo" *fk-column="icodigoestudiante" *fk-constraint="true" **/ public abstract leufu.EstudianteLocal getICodigoEstudiante(); /** * * @ejb.interface-method */ public abstract void setICodigoEstudiante(leufu.EstudianteLocal ICodigoEstudiante); /** * * @ejb.persistent-field * @ejb.pk-field * @ejb.persistence * @jboss.colum-name icodigocurso * @ejb.interface-method * para las relaciones * @ejb.relation name="curso-inscripcion" * role-name="inscripcion-curso" * target-ejb="Curso" * target-role-name=" " * target-multiple="yes" * *@jboss.relation related-pk-field="cCodigo" *fk-column="icodigocurso" *fk-constraint="true" * * * */ public abstract leufu.CursoLocal getICodigoCurso(); /** * * @ejb.interface-method */ public abstract void setICodigoCurso(leufu.CursoLocal ICodigoCurso); } Thanks... Cristian Rossel Moraga CEO Leufu Ingenieria y Negocios Ltda. Lebu, Chile, 56-41-511655.