Je reçois l'exception hibernate suivante: Après environ 20 heures consacrées au problème avec diverses personnes, ayant lu chaque blog ou forum possible, je suis vraiment désespéré ici. < / p> Il s'agit d'un projet de taille moyenne. Je devrais mentionner que la base de données est Postgres 9.1 et nous générons le DB à l'aide d'un outil de modélisation. Hibernate se connecte à la base de données mais ne le génère pas. P> J'ai créé une nouvelle entité dans la base de données, elle s'appelle "konfiguracnitemplate" (modèle de configuration). J'ai créé le modèle, le contrôleur, le formulaire, les validateurs, .jsp, tous essentiellement copiés 1: 1 d'une entité existante de nature similaire. Je peux maintenant travailler avec konfiguracnitemplate, CRUD fonctionne entièrement. P> Le problème vient lorsque je réfère ce konfiguracnitemplate de l'entité appelée Switchport. Dans la DB, il y a une relation entre les deux: p> in ... / modèle / switchport.java La relation est mappée comme toutes les autres relations qui fonctionnent: p> J'ai essayé divers formes : p> ou p> J'ai également vérifié: p> Peu importe ce que j'essaie, je ne peux pas vous débarrasser des "références d'une entité inconnue". Quelqu'un peut-il partager une idée de ce qui se passe ou peut-être comment déboguer le problème? The StackTrace en haut de la poste est tout ce que je regrette dans les journaux. P> Toutes les entrées sont grandement appréciées! P> P>
9 Réponses :
a finalement eu la solution d'un autre développeur de l'équipe! p>
Les classes doivent être importées avant la création de l'objet SéditionFactory. Ici, l'importation pour la nouvelle classe était manquante, il était donc inconnu de l'objet de sessionFactory. P>
Quoi qu'il en soit, merci à tout le monde pour vos allusions! p>
Comment avez-vous résolu ce problème? Quel fichier avez-vous modifié? Pouvez-vous mettre en détail plus en détail sur ce que vous avez fait exactement.
Il suffit d'ajouter la classe
Dans mon cas dans mon hibernateconfig.java
Il y a une autre chance d'obtenir une telle exception; Lorsque vous ne mentionnez pas votre classe de mappage dans le fichier hibernate.cfg.xml. Comme mentionné ci-dessus. P>
Solutions possibles:
1) Assurez-vous que l'entité a été référencée de manière appropriée dans hibernate.cfg.xml p> p> 2) Assurez-vous Cette @entity a été spécifiée au niveau de la classe (en haut de la classe) p>
J'avais la même exception ... je viens d'oublier d'ajouter une annotation ( SOOL SOOL SOOL Vérifiez chaque annotation de vos entités, je veux dire non seulement @entity code> et
@Table code>) sur la classe maître (classe avec clé primaire) p>
@manytoone code> et
@onetomany code> comme je l'ai fait. p>
Je viens d'avoir ce problème, avec entité A code> entité de référencement
B code>. Les deux entités étaient situées dans un pot commun en dehors du projet Web que je travaillais;
A code> a été déclaré dans persistance.xml mais
b code> n'était pas. I Mettez
B code> dans un
Merci @nick. Vous avez sauvé ma vie.
J'ai rencontré ce problème lors de l'utilisation du ressort et non d'utiliser le fichier hibernate.cfg.xml code>. Il a été résolu en ajoutant le nom du package entièrement qualifié du modèle code> Classe Code> à la méthode code> Setpackagestoscan code> de
LOCALALSESSPACTORYBEAN CODE> Classe. P>
Si vous avez deux entités dans différents projets, vous pouvez numériser le package de KonfiguracnitemPate dans d'autres projets. Vous pouvez faire comme ceci dans le démarrage de printemps P>
@EnttityScan ({"com.thispackage.entity", "com.konfiguracnitemplatepackage.entity"})
code> p>
Je vais vous donner une solution qui devrait fonctionner pour la même erreur avec Spring Boot Strong>. Cela a moins à voir avec la question initiale, mais aujourd'hui, les gens chercheraient probablement cette réponse, car personne n'utilise plus la configuration XML aujourd'hui. P>
J'ai subi le même problème et j'ai trouvé la solution sur ce site Web: https: //www.programmersoughers .com / article / 1617314625 / P>
Il décrit même cette question même qu'il aurait levé debout, mais je me demande alors: pourquoi n'avait-il pas répondu ici après avoir trouvé la solution? Lol p>
Ses propres mots: P>
Dans le projet de démarrage à ressort, le package de numérisation par défaut fort> est le package où se trouve la méthode principale, c'est-à-dire Vous avez donc essentiellement reconfigurer Springboot pour numériser davantage de forfaits pour inclure les autres. P>
Mon ajout personnel: Vous pouvez également déplacer vos paquets dans le paquet où se trouve le démarreur ou déplacez le démarreur un colis vers le haut (c'est ce que j'ai fait). P>
@springbooTaplication Code> Annotation sur la méthode principale qui lance l'application, indiquant le démarrage du ressort que ces packages doivent être numérisés:
@springbootaPlication (scanbasepackages = {"com.xiaomo. *"}) code>
Ensuite, l'utilisateur peut être trouvé. P>
blockQuote>
Est-ce que cela se produit après une construction ou un développement? Est-ce que vos tests de l'unité sont exécutés?
Ceci est une exception d'exécution. La construction réussit, après cela, je peux accéder au formulaire de connexion, soumettre et je reçois l'exception. Nous ne faisons pas de tests unitaires.
Avez-vous vérifié votre bocal et assurez-vous que le fichier de classe pour la classe manquante est présent dans le pot après la construction?
Nous nous engageons toujours envers SVN de Netbeans et utilisons Hudson pour construire le projet et déployer sur Tomcat. Le projet finit dans un seul fichier .war. BTW Je peux utiliser l'entité KonfiguracnitemPlapper à tout simplement bien. Cependant, je ne peux pas y référer à l'entité SwistPort.
Est
konfiguracnitemplate code> référencé dans votre hibernate.config.xml / persistence.xml?