je la méthode suivante dans ma couche DAO d'application Java:brisé Hibernate Enregistrer méthode
public void save(Employee emp) {
System.out.println("emp type: " + emp.getClass().getName);
getHibernateTemplate().save(emp);
System.out.println("object saved!");
System.out.flush();
}
La classe employé ne couvre pas de toute autre classe et a le fichier HBM suivant:
<hibernate-mapping>
<class name="org.myCompany.Employee" table="employee">
<!-- fields omitted to save space -->
</hibernate-mapping>
Pourtant, l'insertion échoue avec une exception java.lang.ClassCastException. Au début, je pensais que quelque chose ne va pas avec mon mapping (comme un mappage entier à un booléen) mais je me suis tourné sur le débogage show_sql de mise en veille prolongée et a trouvé ce qui suit dans mon fichier journal:
type emp: org.myCompany. employé
Mise en veille prolongée: insérer dans le client (.......) valeurs (......)
java.lang.ClassCastException
Pourquoi at-il choisir une table tout à fait au hasard pour insérer dans? Je suis sûr que je dois avoir un fichier de configuration mal configuré, mais je ne sais pas lequel. J'ai vérifié les éléments suivants:
- applicationContext-hibernate.xml -> à la fois les objets clients et les employés sont mis en correspondance avec leurs fichiers hbm corrects
- ni client ou employé ont une relation d'héritage (il n'y a même pas une commune classe parent comme Personne ou Utilisateur)
Que puis-je essayer d'autre?
Afficher la pile complète, s'il vous plaît. – axtavt