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

JPA Java Discussion :

[Hibernate / JPA] Relation Réflexive


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut [Hibernate / JPA] Relation Réflexive
    Bonjour!

    Je travaille sur une application qui utilise une persistance Hibernate/JPA, les EJB3 et Struts1.2.

    Je dois mettre en place une relation réflexive sur un objet de l'application: Reseau. Le réseau peut avoir un réseau père et un ou plusieurs réseau fils.
    L'extrait de code définissant la relation:
    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
     
    @Entity
    @Table(name = "T_RESEAU", uniqueConstraints = {})
    public class Reseau extends CondorTrackingBean implements java.io.Serializable {
     
        // Fields
     
        private Integer id;
     
        private Reseau reseauPere;
     
        private Set<Reseau> reseaus = new HashSet<Reseau>(0);
        //Code...
     
    @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        @Column(name = "RES_ID_N", unique = true, nullable = false, insertable = true, updatable = true)
        public Integer getId() {
            return this.id;
        }
     
        public void setId(Integer id) {
            this.id = id;
        }
     
        @ManyToOne(cascade = {}, fetch = FetchType.LAZY)
        @JoinColumn(name = "RES_ID_PARENT_N", unique = false, nullable = true, insertable = true, updatable = true)
        public Reseau getReseauPere() {
    		return reseauPere;
    	}
     
        public void setReseauPere(Reseau TReseau) {
    		this.reseauPere = TReseau;
    	}
     
        @OneToMany(fetch = FetchType.LAZY, mappedBy = "reseauPere")
    	public void setReseaus(Set<Reseau> TReseaus) {
    		this.reseaus = TReseaus;
    	}
     
    	public Set<Reseau> getReseaus() {
    		return reseaus;
    	}
    Et j'obtiens dès la compilation l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Reason: org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(reseaus)]
    Auriez vous svp une idée des raisons de l'erreur?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    vous avez mis l'annotation sur le setter.

  3. #3
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut
    Comment me faudrait il faire svp JeitEmgie?

  4. #4
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut
    Je ne trouve vraiment pas la solution... :S
    Que je mette les tags sur les attributs ou sur les getter l'erreur est toujours la même :::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      State: FAILED
      Reason: org.hibernate.MappingException: Could not determine type for: java.uti
    l.Set, for columns: [org.hibernate.mapping.Column(reseaus)]
    et il y a un sérieux manque d'info sur le net concernant les relations réflexives...

  5. #5
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut
    ... Effectivement je l'avais mise sur le setter et non sur le getter!!!!
    Quelle horrible erreur!

    Merci beaucoup JeitEmgie!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spring / Hibernate / JPA] Relation Many to One
    Par Yoru17 dans le forum Hibernate
    Réponses: 0
    Dernier message: 25/06/2015, 11h35
  2. [Hibernate JPA] Problème relation entre 2 objets
    Par deli2025 dans le forum Hibernate
    Réponses: 2
    Dernier message: 25/05/2015, 10h35
  3. Réponses: 0
    Dernier message: 19/07/2013, 19h31
  4. [JPA / Hibernate / JUnit] Relation ManyToOne
    Par Targan dans le forum JPA
    Réponses: 5
    Dernier message: 04/09/2012, 05h49
  5. Réponses: 0
    Dernier message: 19/04/2009, 20h50

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