首頁  >  文章  >  Java  >  \“Hibernate 一對多映射錯誤:\\\“無法確定類型:java.util.List\\\” - 為什麼以及如何修復它?\”

\“Hibernate 一對多映射錯誤:\\\“無法確定類型:java.util.List\\\” - 為什麼以及如何修復它?\”

Linda Hamilton
Linda Hamilton原創
2024-10-28 17:56:29196瀏覽

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=&quot;college&quot;, fetch=FetchType.EAGER)
private List&lt;Student&gt; 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn