Could you please post the error message?
Regards Jose
Janine G�rtner wrote:
Hi folks!
I have to have a many-to-many relationship, but every time i include the tag 'target-multiple="yes"' already expecting an java.util.Collection from the function xdoclet wouldn't generate anything and i receive an error message that generation of code failed. Well - a many-to-many relationship has to have this tag. What could be the mistake? :(
I'll include the code snipplet above. I'm trying to build a unidirectional relationship by now. I've tried a bidirectional relation before: It didn't work as well. My unidirectional One-to-Many relationships works fine. :(
-----
This is the class:
/* * Created on 18.12.2003 */ package de.nine.cmp;
import javax.ejb.EntityBean;
/** * @version 1.0 * @author Janine G�rtner * * @ejb.bean * name="Kategorie" * type="CMP" * primkey-field="idKategorie" * schema="FSKategorie" * cmp-version="2.x" * * @ejb.persistence * table-name="tKategorie" * * @ejb.finder * query="SELECT OBJECT(a) FROM FSKategorie as a" * signature="java.util.Collection findAll()" * * @ejb.value-object * match="*" * * @ejb.util generate="physical" **/
public abstract class KategorieBean implements EntityBean {
// ====================================================================== // Business Methoden // ======================================================================
/** * Kategoriedaten liefern * * @return Kategoriedaten * * @ejb.interface-method * view-type="local" */ public abstract KategorieValue getKategorieValue();
/** * Kategoriedaten setzen * * @param data: Kategoriedaten * * @ejb.interface-method * view-type="local" */ public abstract void setKategorieValue(KategorieValue data);
// ====================================================================== // Methoden des Lebenszyklus // ======================================================================
/** * ejbCreate * * @param idKategorie: Kategorienummer des Kategorie * @param name: Name des Kategorie * @param info: Beschreibung des Kategorie * * @throws CreateException: Fehler bei der Erzeugung des Kategorie * * @ejb.create-method */ public java.lang.Integer ejbCreate(java.lang.Integer idKategorie, java.lang.String name, java.lang.String info) throws javax.ejb.CreateException { this.setIdKategorie(idKategorie); this.setName(name); this.setInfo(info); return null; // Spezifikation von EJB 2.0 verlangt null als R�ckgabewert }
/** * ejbPostCreate * * @param idKategorie: Kategorienummer des Kategorie * @param name: Name des Kategorie * @param info: Beschreibung des Kategorie * * @throws CreateException: Fehler bei der Erzeugung des Kategorie */ public void ejbPostCreate(java.lang.Integer idKategorie, java.lang.String name, java.lang.String info) throws javax.ejb.CreateException {
}
// ====================================================================== // CMP Felder // ======================================================================
// ----------------------------------------------------------------------
/** * Kategorienummer des Kategorie liefern * * @return Kategorienummer des Kategorie * * @ejb.persistent-field * @ejb.persistence * column-name="IDKategorie" * jdbc-type="INTEGER" * sql-type="INTEGER" * @ejb.pk-field * @ejb.interface-method * view-type="local" */ public abstract java.lang.Integer getIdKategorie();
/** * Kategorienummer des Kategorie setzen * * @param idKategorie: Kategorienummer des Kategorie * * @ejb.interface-method * view-type="local" */ public abstract void setIdKategorie(java.lang.Integer idKategorie);
// ----------------------------------------------------------------------
/** * Name des Kategorie liefern * * @return Name des Kategorie * * @ejb.persistent-field * @ejb.persistence * column-name="NAME" * jdbc-type="VARCHAR" * sql-type="VARCHAR(50)" * @ejb.interface-method * view-type="local" */ public abstract java.lang.String getName();
/** * Name des Kategorie setzen * * @param name: Name des Kategorie * * @ejb.interface-method * view-type="local" */ public abstract void setName(java.lang.String name);
// ----------------------------------------------------------------------
/** * Beschreibung des Kategorie liefern * * @return Beschreibung des Kategorie * * @ejb.persistent-field * @ejb.persistence * column-name="INFO" * jdbc-type="VARCHAR" * sql-type="TEXT" * @ejb.interface-method * view-type="local" */ public abstract java.lang.String getInfo();
/** * Beschreibung des Kategorie setzen * * @param info: Beschreibung des Kategorie * * @ejb.interface-method * view-type="local" */ public abstract void setInfo(java.lang.String info);
// ====================================================================== // CMR Felder // ======================================================================
// ----------------------------------------------------------------------
/** * Artikel zur Kategorie liefern * * @return Artikelliste * * @ejb.interface-method * view-type="local" * @ejb.value-object * aggregate-name="KategorieValue" * members="de.nine.cmp.KategorieLocal" * members-name="Kategorie" * relation="external" * type="Collection" * @ejb.relation * name="kategorie-artikel" * role-name="kategorie-hat-artikel" * target-ejb="Artikel" * target-role-name="artikel-gehoert_zu-kategorie" * target-multiple="yes" * * @jboss.relation-mapping * style="relation-table" * @jboss.relation-table * table-name="tKategorie_hat_tArtikel" * @jboss.relation * fk-constraint="yes" * fk-column="fkArtikel" * related-pk-field="idArtikel" * @jboss.target-relation * fk-constraint="yes" * fk-column="fkKategorie" * related-pk-field="idKategorie" */ public abstract java.util.Collection getArtikel();
/** * Artikel zur Kategorie setzen * * @param artikel: Artikelliste * * @ejb.interface-method * view-type="local" */ public abstract void setArtikel(java.util.Collection artikel); }
########################################################
Well, it should be necessary, but here also the other side:
/* * Created on 18.12.2003 */ package de.nine.cmp;
import javax.ejb.EntityBean;
/** * @version 1.0 * @author Janine G�rtner * * @ejb.bean * name="Artikel" * type="CMP" * primkey-field="idArtikel" * schema="FSArtikel" * cmp-version="2.x" * * @ejb.persistence * table-name="tArtikel" * * @ejb.finder * query="SELECT OBJECT(a) FROM FSArtikel as a" * signature="java.util.Collection findAll()" * * @ejb.value-object * match="*" * * @ejb.util generate="physical" **/
public abstract class ArtikelBean implements EntityBean {
// ====================================================================== // Business Methoden // ======================================================================
/** * Artikeldaten liefern * * @return Artikeldaten * * @ejb.interface-method * view-type="local" */ public abstract ArtikelValue getArtikelValue();
/** * Artikeldaten setzen * * @param data: Artikeldaten * * @ejb.interface-method * view-type="local" */
public abstract void setArtikelValue(ArtikelValue data);
// ====================================================================== // Methoden des Lebenszyklus // ======================================================================
/** * ejbCreate * * @param idArtikel: Artikelnummer des Artikel * @param name: Name des Artikel * @param info: Beschreibung des Artikel * @param preis: Preis des Artikel * * @throws CreateException: Fehler bei der Erzeugung des Artikel * * @ejb.create-method */ public java.lang.Integer ejbCreate(java.lang.Integer idArtikel, java.lang.String name, java.lang.String info, java.math.BigDecimal preis) throws javax.ejb.CreateException { this.setIdArtikel(idArtikel); this.setName(name); this.setInfo(info); this.setPreis(preis); return null; // Spezifikation von EJB 2.0 verlangt null als R�ckgabewert }
/** * ejbPostCreate * * @param idArtikel: Artikelnummer des Artikel * @param name: Name des Artikel * @param info: Beschreibung des Artikel * @param preis: Preis des Artikel * * @throws CreateException: Fehler bei der Erzeugung des Artikel */ public void ejbPostCreate(java.lang.Integer idArtikel, java.lang.String name, java.lang.String info, java.math.BigDecimal preis) throws javax.ejb.CreateException {
}
// ====================================================================== // CMP Felder // ======================================================================
// ----------------------------------------------------------------------
/** * Artikelnummer des Artikel liefern * * @return Artikelnummer des Artikel * * @ejb.persistent-field * @ejb.persistence * column-name="IDARTIKEL" * jdbc-type="INTEGER" * sql-type="INTEGER" * @ejb.pk-field * @ejb.interface-method * view-type="local" */ public abstract java.lang.Integer getIdArtikel();
/** * Artikelnummer des Artikel setzen * * @param idArtikel: Artikelnummer des Artikel * * @ejb.interface-method * view-type="local" */ public abstract void setIdArtikel(java.lang.Integer idArtikel);
// ----------------------------------------------------------------------
/** * Name des Artikel liefern * * @return Name des Artikel * * @ejb.persistent-field * @ejb.persistence * column-name="NAME" * jdbc-type="VARCHAR" * sql-type="VARCHAR(50)" * @ejb.interface-method * view-type="local" */ public abstract java.lang.String getName();
/** * Name des Artikel setzen * * @param name: Name des Artikel * * @ejb.interface-method * view-type="local" */ public abstract void setName(java.lang.String name);
// ----------------------------------------------------------------------
/** * Beschreibung des Artikel liefern * * @return Beschreibung des Artikel * * @ejb.persistent-field * @ejb.persistence * column-name="INFO" * jdbc-type="VARCHAR" * sql-type="TEXT" * @ejb.interface-method * view-type="local" */ public abstract java.lang.String getInfo();
/** * Beschreibung des Artikel setzen * * @param info: Beschreibung des Artikel * * @ejb.interface-method * view-type="local" */ public abstract void setInfo(java.lang.String info);
// ----------------------------------------------------------------------
/** * Preis des Artikel liefern * * @return Preis des Artikel * * @ejb.persistent-field * @ejb.persistence * column-name="PREIS" * jdbc-type="DECIMAL" * sql-type="DECIMAL(11,2)" * @ejb.interface-method * view-type="local" */ public abstract java.math.BigDecimal getPreis();
/** * Preis des Artikel setzen * * @param preis: Preis des Artikel * * @ejb.interface-method * view-type="local" */ public abstract void setPreis(java.math.BigDecimal preis); }
----
Please help me. :(
-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user
------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user
