Maison >Java >javaDidacticiel >\'Erreur de mappage Hibernate One-To-Many : \\\'Impossible de déterminer le type pour : java.util.List\\\' - Pourquoi et comment y remédier ?\'
Erreur de mappage un-à-plusieurs Hibernate : "Impossible de déterminer le type pour : java.util.List"
Dans Hibernate, gestion Les relations un-à-plusieurs nécessitent des configurations de mappage minutieuses. Cette erreur se produit généralement lorsque les annotations de mappage sont mal placées ou configurées.
En analysant le code fourni, nous rencontrons l'erreur ci-dessous :
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]
Cette erreur indique qu'Hibernate est incapable de déterminer le type de propriété des étudiants dans la classe Collège. Selon le mappage fourni, la propriété Students est annotée avec @OneToMany et est de type List
Placement correct de l'annotation
Dans la stratégie d'accès aux champs, qui est déterminée par l'annotation @Id, les annotations JPA doivent être placées juste au-dessus de chaque champ au lieu des propriétés getter. Dans ce cas, l'emplacement correct de l'annotation pour la propriété des étudiants est :
@OneToMany(targetEntity=Student.class, mappedBy="college", fetch=FetchType.EAGER) private List<Student> students;
Classe universitaire modifiée
Une fois l'emplacement de l'annotation corrigé, la classe universitaire modifiée ressemble à ceci :
@Entity
public class College {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int collegeId;
private String collegeName;
@OneToMany(targetEntity=Student.class, mappedBy="college", fetch=FetchType.EAGER)
private List<Student> students; // Annotation is now placed above the field
// Other getters and setters omitted
}
Conclusion
En plaçant correctement l'annotation @OneToMany au-dessus du champ des étudiants, Hibernate peut désormais déterminer correctement le type de propriété et mapper le One -Relation à plusieurs entre le collège et l'étudiant. Cet ajustement résout l'erreur « Impossible de déterminer le type pour : java.util.List ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!