9
votes

[Hibernate] Erreur: Classe d'entité non trouvée:

Je suis fatigué de cela pendant une longue période. Je ne sais pas ce qui a causé cette erreur. Voici mes fichiers:

uzytkownik.hbm.xml p> xxx pré>

hibernate.cfg.xml: p> xxx pré>

i Utilisez MySQL 5.5. P>

I Obtenir l'erreur suivante: P>

package com.vaannila.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;


    public class HibernateUtil {
        private static final SessionFactory sessionFactory;
        static {
            try {
                sessionFactory = new Configuration().configure().buildSessionFactory();
            } catch (Throwable ex) {
                System.err.println("Initial SessionFactory creation failed." + ex);
                throw new ExceptionInInitializerError(ex);

            }

        }
        public static SessionFactory getSessionFactory() {
            return sessionFactory;
        }

}


0 commentaires

4 Réponses :


26
votes

Peut-être que votre fichier de mappage n'est pas complet, mais d'autres sages, il devrait être: xxx

=> besoin de définir le nom de classe entièrement qualifié (avec emballage)


0 commentaires

1
votes

Je pense qu'il est logique de spécifier le nom de la classe d'entité entière qualifiée:

<class name="com.vaannila.uzytkownik.Uzytkownik" table="uzytkownicy">


0 commentaires

0
votes

N'oubliez pas de mentionner votre classe en utilisant comme classes d'entité dans le fichier de configuration hibernate à l'aide de la balise de mappage !!

Exemple: p>

<session-factory>
//database configeration goes here

<mapping class="org.fbis.models.Form3A"/>
</session-factory>


0 commentaires

0
votes

Stijn Geukens répond à droite, mais je tiens à signaler plus d'informations sur cette question.

Il y a deux raisons que je connaisse causer ce problème: Classe d'entité non trouvée

  1. Premièrement, comme Stijn Geukens répond, votre cartographie hibernate n'est pas correcte, la valeur de l'attribut de noms pour la classe Tag doit être la classe Java avec un package à venir.
  2. Deuxièmement, si vous avez Boolean déposé dans votre classe Java, ce champ ne peut pas commencer par est .Other, l'hibernate jette une exception méthode getter est introuvable ... < / Code> Lorsqu'il est exécuté par mode de débogage Java ou en mode exécutant.Mais En ce qui concerne le projet Web et que vous exécutez votre projet comme Application serveur , le message devient Classe d'entité non trouvée .Il m'a fait perplexe pendant une longue période.So Ne nommez pas votre champ booléen avec est à l'avance.

0 commentaires