IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Mapping d une association avec Xdoclet


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Par défaut Mapping d une association avec Xdoclet
    slt a tous je veux generer les fichier .hbm.xml avec les xdoclet entre 2 table Medicament et Dci et une table d association entre eu composition , donc voila mes POJO:

    Table Medicament qui doit contenir un composite-element qui regroupe les propriété de la classe d'association composition (dosage, forma..)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    package com.anam.amid.bo;
     
    import java.util.Date;
     
    import antlr.collections.List;
     
    /**
     * 
     * @hibernate.class table="MEDICAMENT"
     * @author 
     */
    public class Medicament {
     
    private String idMedicament ;
     
     
     
    private List composition;
     
     
    public Medicament() {
    	super();
     
    }
     
     
     
     
     
    /**
     * @hibernate.id  generator-class="assigned"  column="GMR_Cle_Medicament" unsaved-value="null"
     * @return String
     */
    public String getIdMedicament() {
    	return idMedicament;
    }
     
     
     
    public void setIdMedicament(String idMedicament) {
    	this.idMedicament = idMedicament;
    }
     
     
     
    /**
    *
    * @hibernate.list lazy="true" table="composition"
    * @hibernate.collection-key column="medicament_ID"
    * @hibernate.collection-index column="dci_fk"
    * @hibernate.collection-composite-element class="Composition"
    *
    *
    * @return 
    */ 
    public List getComposition() {
    	return composition;
    }
     
     
    public void setComposition(List composition) {
    	this.composition = composition;
    }
     
    }

    le fichier medicament.hbm.xml que j obtient ne contient pas les propriétés de la table Composition

    mon prb c est comment déclarer avec les doclet ses proprités pour avoir un truc dans mon fichier de mapping comme
    http://www.hibernate.org/hib_docs/re...-mappings.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <list name="lineItems" table="line_items" lazy="true">
                <key column="order_id"/>
                <index column="line_number"/>
                <composite-element class="LineItem">
                    <property name="quantity"/>
                    <many-to-one name="product" column="product_id"/>
                </composite-element>
            </list>
    j ai cherché est j ai pas trouvé d exemle
    merci pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Par défaut
    il y a personne qui a déujas utilisé les xdoclet

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Par défaut
    Salut,
    En principe ce que tu as fait est correct. J'ajoute juste qu'il faut enlever le "lazy=true" car pour un composite-element la collection est toujours chargée immédiatement. Tu devrais aussi indiquer le nom complet de ta classe Composition (avec package et tout) là où tu déclares @hibernate.collection-composite-element class="Composition". Mais pour que les propriétés de la classe Composition apparaissent bien dans le mapping hbm.xml de la classe Medicament, tu dois l'indiquer avec des déclarations @hibernate.property column="QUANTITE" dans le fichier Composition.java, comme tu le fais pour les autres propriétés. XDoclet les trouvera et les ajoutera au composite-element. Voilà, je crois que c'est tout, mais si ce n'est pas très clair je pourrais repréciser.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Par défaut
    ok merci pour ta réponse mnt j ai les proproétés ds mon fichier .hbm.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            <list name="composition2" table="composition" lazy="false" cascade="none">
     
                <key column="medicament_ID"/>
                <index column="dci_fk"/>
     
                <composite-element class="com.anam.amid.bo.Composition">
                   <property name="dosage" type="string" update="true" insert="true"
                             column="dosage" length="30" not-null="true" unique="false"/>
     
            		<property name="exoneree" type="int" update="true" insert="true"
                              column="exoneree" not-null="true"/> 
                </composite-element>
     
            </list>
    mais comment je peux ajouté la relation
    <many-to-one name="Dci" column="DCI_id"/> dans le composite-element

    la table DCI est l autre table qui forme avec Medicament mon assiciation

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Par défaut
    Tu ajoutes une relation many-to-one de la même façon que tu as ajouté les propriétés, c'est-à-dire en déclarant @hibernate.many-to-one column="DCI_id" dans la classe Composition, ce n'est pas différent de ce que tu fais d'habitude pour une relation many-to-one ordinaire.

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 103
    Par défaut
    voila ma table composition je voix pas ou ajouter @hibernate.many-to-one column
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    package com.anam.amid.bo;
    /**
     *  
     * @hibernate.class table="COMPOSITION"
     * 
     * 
     */
    public class Composition {
     
    	private CompositionPk id;
     
    	private String dosage;
     
    	private String unitedosage;
     
    	private String forme;
     
    	private Integer remboursable;
     
    	private Integer exoneree; 
    	public Composition() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	public Composition(String dci, String medicament) {
    		this.id=new CompositionPk (dci, medicament);
    		// TODO Auto-generated constructor stub
    	}
     
    	/**
             * @hibernate.property column="dosage" type="string" length="30" not-null="true" unique="false"
             * 
             * @return string
             */
    	public String getDosage() {
    		return dosage;
    	}
    	public void setDosage(String dosage) {
    		this.dosage = dosage;
    	}
    	/**
             * @hibernate.property column="exoneree" type="int" not-null="true"
             * @return Integer
             */
    	public Integer getExoneree() {
    		return exoneree;
    	}
    	public void setExoneree(Integer exoneree) {
    		this.exoneree = exoneree;
    	}
    	/**
             * @hibernate.property column="forme" type="string" length="30" not-null="true" unique="false"
             * 
             * @return string
             */
    	public String getForme() {
    		return forme;
    	}
    	public void setForme(String forme) {
    		this.forme = forme;
    	}
    	/**
             * @hibernate.id type="com.anam.amid.bo.CompositionPk"
             * @return
             */
    	public CompositionPk getId() {
    		return id;
    	}
    	public void setId(CompositionPk id) {
    		this.id = id;
    	}
    	/**
             * @hibernate.property column="remboursable" type="int" not-null="true"
             * @return Integer
             */
    	public Integer getRemboursable() {
    		return remboursable;
    	}
    	public void setRemboursable(Integer remboursable) {
    		this.remboursable = remboursable;
    	}
    	/**
             * @hibernate.property column="unite_dosage" type="string" length="30" not-null="true" unique="false"
             * 
             * @return string
             */
    	public String getUnitedosage() {
    		return unitedosage;
    	}
    	public void setUnitedosage(String unitedosage) {
    		this.unitedosage = unitedosage;
    	}
     
    }

Discussions similaires

  1. Probleme de mapping pour une recherche avec Criterion
    Par yann12345 dans le forum Hibernate
    Réponses: 0
    Dernier message: 05/03/2010, 14h10
  2. Mapping d'une association n,n
    Par khaigo dans le forum Hibernate
    Réponses: 5
    Dernier message: 02/02/2010, 17h18
  3. Mapping d'une arborescence avec héritage
    Par ruda.tom dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/12/2008, 11h54
  4. Réponses: 2
    Dernier message: 10/08/2007, 11h46
  5. [html] non reconnaisance d'une Map d'une image avec IE
    Par mathieu dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/08/2005, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo