Vous êtes sur la page 1sur 1

Annexe : Erreurs courantes

Vous dbutez avec Hibernate et rencontrerez donc rgulirement des erreurs lors de vos premiers exercices. Parce que les erreurs d'excution affiches par
Hibernate sont souvent obscures, voici une liste de quelques uns des messages d'erreurs les plus courants.
Message d'erreur
TransformationException: No embedded stylesheet instruction
for file: file:/chemin_du_fichier/hibernate.cfg.xml
java.sql.SQLException: No suitable driver found for [...]

java.net.ConnectException: Connection refused: connect


org.hibernate.MappingException:Unknown entity : [nom d'une
entit] ou
org.hibernate.MappingException: object references an unknown
entity: [nom d'une entit]
org.hibernate.AnnotationException: No identifier specified for
entity: [non d'une entit]

Explication
C'est une erreur que l'on retrouve principalement sur Eclipse lors de l'excution du
programme alors que le fichier hibernate.cfg.xml est affich. Supprimez le fichier
hibernate.cfg.out.xml qui vient d'tre cr, changez d'onglet puis excutez
nouveau le programme.
Dans le fichier hibernate.cfg.xml, l'url de la base de donnes comporte une erreur.
Si vous travaillez en local, il est probable que le serveur de base de donnes ne
soit pas accessible ou ne soit pas dmarr. Lancez WampServer ou tout autre
serveur que vous utilisez et relancez l'application.

Vous avez probablement oubli d'ajouter au fichier hibernate.cfg.xml la ligne


indiquant Hibernate les classes mapper (ou celle-ci comporte une erreur), par
exemple :

Il manque l'annotation @Id dans l'entit spcifie par l'erreur. N'oubliez pas que
cette annotation fait partie des deux seules obligatoires, avec @Entity.
Deux solutions envisageables :

org.hibernate.TransientObjectException: object references an


unsaved transient instance - save the transient instance before
flushing: [nom d'une entit]

mettre en place une cascade entre l'entit cite et celle qui lui est associe
et que l'on tentait de manipuler
rendre persistante l'entit cite avant d'essayer de sauvegarder les instances
d'entit qui y font rfrence
Pour plus de dtails : L'annotation Cascade