Hibernate mapping - “impossible de déterminer le type”
J'ai actuellement les suivants objets persistants avec succès:
- Personne prénom, etc.
- Examens le titre, la date, etc.
J'aimerais maintenant créer une troisième table les résultats de l'Examen. Pour ce tableau, je crois qu'il devrait être personne d'ID d'examen à l'ID et le résultat, et c'est une relation plusieurs-à-plusieurs.
@Entity
public class ExamResult {
private Exam exam;
private Person person;
private double value;
@Id
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(name="EXAM_ID")
public Exam getExam() {
return exam;
}
public void setExam(Exam exam) {
this.exam = exam;
}
@Id
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(name="PERSON_ID")
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value;
}
}
L'erreur:
org.mise en veille prolongée.MappingException: impossible de déterminer le type de: Personne, à table: ExamResult, pour les colonnes: [org.mise en veille prolongée.la cartographie.La colonne(personne)]
Je pense que j'ai peut-être les choses à ce sujet dans le mauvais sens, mais je ne peux pas travailler sur la façon de procéder à cette relation à partir de la
tutoriel.
Des idées?
- Ne sais pas ce qui peut être mal non plus... Pouvez-vous s'il vous plaît montrer la
Person
classe? - Il y a un sujet ouvert sur ce opensource.atlassian.com/projects/hibernate/browse/HHH-4226
- le
Person
classe était un POJO sans mentionnerExamResult
en aucune façon.
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir plusieurs
@Id
annotations dans la même entité. L'utilisation d'un composite ID à la place.Exemple.