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 :

erreur "Class A uses a non-entity class B


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut erreur "Class A uses a non-entity class B
    Bonsoir,

    j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Exception Description: [class Metier.Promotion.Semestre] uses a non-entity [class Metier.Notes.ReleveNotes] as target entity in the relationship attribute [private java.util.Map Metier.Promotion.Semestre.releves].
            at oracle.toplink.essentials.exceptions.PersistenceUnitLoadingException.exceptionSearchingForPersistenceResources(PersistenceUnitLoadingException.java:143)
            at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createEntityManagerFactory(EntityManagerFactoryProvider.java:169)
            at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:110)
            at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
            at DAO.Dao.init(Dao.java:34)
            at Main.Lancement.main(Lancement.java:29)
    Caused by: javax.persistence.PersistenceException: Exception [TOPLINK-28018] (Oracle TopLink Essentials - 2.0 (Build b58g-fcs (09/07/2007))): oracle.toplink.essentials.exceptions.EntityManagerSetupException
    pour les deux classes entités suivantes :
    Semestre :

    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
    @Entity
    @Table(name = "Semestre_Discipline")
    public class Semestre extends Observable implements IDataBase {
     
        static private final long serialVersionUID = 73L;
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
        @ManyToOne
        private ASemestre semestre;
        @OneToMany
        private List<Etudiant> mEtudiant;    // liste des étudiants
     
        @OneToMany
        private Map<Module, Enseignant> cours;// liste des cours
     
     
     
     
        @OneToMany
        private Map<Module, java.lang.Boolean[]> epreuves;/* liste des épreuves
        (Devoir , TD , TP, Projet)    */
     
        @OneToMany
        private Map<Etudiant, ReleveNotes> releves;/*  liste des relevés 
                                                        de notes de chaque étudiant   */
    ...
    RelevesNotes :

    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
    @Entity
    @Table(name="Releves de notes")
    public class ReleveNotes extends Observable implements Observer,Serializable {
     
        static private final long serialVersionUID = 41L;
     
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
     
        @OneToOne
        private Etudiant etudiant;
        @ManyToOne
        private Semestre semestre;
     
    ...
    vous avez une idée ?

  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
    @Table(name="Releves de notes")

    des espaces dans un nom de table ?

  3. #3
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    @Table(name="Releves de notes")

    des espaces dans un nom de table ?
    même si j'enlève les espaces, ça ne change rien au problème

    merci comme même

  4. #4
    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
    Citation Envoyé par bassim Voir le message
    même si j'enlève les espaces, ça ne change rien au problème

    merci comme même
    les annotations semblant ok pour ReleveNotes, avez-vous vérifié qu'elles l'étaient aussi pour toutes les classes référencées (directement et indirectement) par ReleveNotes ?

    Vérifiez le schéma généré…

  5. #5
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    les annotations semblant ok pour ReleveNotes, avez-vous vérifié qu'elles l'étaient aussi pour toutes les classes référencées (directement et indirectement) par ReleveNotes ?

    Vérifiez le schéma généré…
    bon je mets tout les attributs et les références pour que ça soit plus clair:

    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
    @Entity
    @Table(name="Releves_de_notes")
    public class ReleveNotes extends Observable implements Observer,Serializable {
     
        static private final long serialVersionUID = 41L;
     
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
     
        @OneToOne
        private Etudiant etudiant;
     
        @ManyToOne
        private Semestre semestre;
     
        @OneToMany(mappedBy = "releve")
        private List<Note> notes;
     
        //@OneToMany
        private transient Map<Module, Boolean> modulesAcquis;
     
        //@OneToMany
        private transient Map<UE, Boolean>     UEsAcquises;
     
        private float moyenneGenerale;
        private float moyenneFinAnnee;
        private int sommeCreditsFinAnnee;  // ou fin de semestre
     
        private float moyenneApresRattrapage;
        private int sommeCreditsApresRattrapage;
    ...
    la classe Note :
    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
    public class Note extends Observable implements Serializable {
     
        static private final long serialVersionUID = 40L;
     
     
        @Id
        private Long id;
     
        @OneToOne
        private Module module;
     
        public Module getModule() {
            return module;
        }
     
        public void setModule(Module module) {
            this.module = module;
        }
     
        @ManyToOne
        private ReleveNotes releve;
     
     
        private float noteEpreuve;
     
        private float noteTD;
     
        private float noteTP;
     
        private float noteProjet;
     
        private float noteExamen;
     
        private float noteRattrapage;
     
        private float noteRattrapage2;
     
        private float moyenneControle;
     
        private float moyenne;
     
        private Boolean[] epreuves;
    j'ai vérifié les références, mais je n'ai rien constaté d'anormal ...
    mais j'ai remarqué qu'avec les MAP ça pose toujours un problème

  6. #6
    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
    Citation Envoyé par bassim Voir le message
    bon je mets tout les attributs et les références pour que ça soit plus clair:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @Entity
    @Table(name="Releves_de_notes")
    public class ReleveNotes extends Observable implements Observer,Serializable {
     
     
        //@OneToMany
        private transient Map<Module, Boolean> modulesAcquis;
     
        //@OneToMany
        private transient Map<UE, Boolean>     UEsAcquises;
     
     
    ...
    j'ai vérifié les références, mais je n'ai rien constaté d'anormal ...
    mais j'ai remarqué qu'avec les MAP ça pose toujours un problème
    exemple de Map qui fonctionne ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    	@OneToMany(cascade=CascadeType.ALL)
    	@MapKey(columns=@Column(name="language", length=6))
    	@JoinTable(name="PUBLICATION_DESCRIPTIONS",
    		joinColumns= @JoinColumn(name="ref_publication"),
    		inverseJoinColumns = @JoinColumn(name = "ref_description"))
    	protected java.util.Map<String,Description>		itsDescriptions = new HashMap<String,Description>() ;

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

Discussions similaires

  1. [Mapping] Erreur "Entity class not found"
    Par yo_haha dans le forum Hibernate
    Réponses: 2
    Dernier message: 17/12/2011, 20h14
  2. [Mapping] Erreur "entity class not found"
    Par SpeedOverflow dans le forum Hibernate
    Réponses: 6
    Dernier message: 20/10/2011, 17h12
  3. Erreur "JSF pages from Entities classes"
    Par meryam123 dans le forum JSF
    Réponses: 8
    Dernier message: 08/09/2011, 03h36
  4. Erreur "JSF pages from Entities classes"
    Par meryam123 dans le forum NetBeans
    Réponses: 1
    Dernier message: 06/09/2011, 12h26
  5. Seamm Generate Entities : classe non trouvée
    Par CinePhil dans le forum Seam
    Réponses: 1
    Dernier message: 28/09/2010, 15h00

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