Maison > Java > javaDidacticiel > le corps du texte

\'Erreur de mappage Hibernate One-To-Many : \\\'Impossible de déterminer le type pour : java.util.List\\\' - Pourquoi et comment y remédier ?\'

Linda Hamilton
Libérer: 2024-10-28 17:56:29
original
195 Les gens l'ont consulté

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)]
Copier après la connexion

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, mais l'annotation est mal placée.

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;
Copier après la connexion

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=&quot;college&quot;, fetch=FetchType.EAGER)
private List&lt;Student&gt; students; // Annotation is now placed above the field

// Other getters and setters omitted
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!