Hibernate 一對多映射錯誤:「無法確定類型:java.util.List」
在Hibernate 中,處理一對多關係需要仔細的映射配置。此錯誤通常在映射註釋放置或配置不正確時發生。
分析提供的程式碼,我們遇到以下錯誤:
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]
此錯誤顯示 Hibernate 無法確定College 類別中學生屬性的類型。根據提供的映射,students屬性使用@OneToMany註解,類型為List
正確的註解放置
在由@Id註解決定的字段訪問策略中,JPA註解應該放置在每個字段的正上方,而不是getter屬性。在這種情況下,學生屬性的正確註解位置為:
@OneToMany(targetEntity=Student.class, mappedBy="college", fetch=FetchType.EAGER) private List<Student> students;
修改後的大學類
修正註解位置後,修改後的大學類如下所示this:
@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
}
結論
透過正確地將@OneToMany註釋放置在students欄位上方,Hibernate現在可以正確確定屬性的類型並映射One -學院和學生之間的對多關係。此調整解決了“無法確定類型:java.util.List”錯誤。
以上是\'Hibernate 一對多映射錯誤:\\\'無法確定類型:java.util.List\\\” - 為什麼以及如何修復它?\”的詳細內容。更多資訊請關注PHP中文網其他相關文章!