Rumah  >  Artikel  >  Java  >  \"Hibernate One-To-Many Ralat Pemetaan: \\\"Tidak Dapat Menentukan Jenis untuk: java.util.List\\\" - Mengapa dan Bagaimana untuk Membetulkannya?\"

\"Hibernate One-To-Many Ralat Pemetaan: \\\"Tidak Dapat Menentukan Jenis untuk: java.util.List\\\" - Mengapa dan Bagaimana untuk Membetulkannya?\"

Linda Hamilton
Linda Hamiltonasal
2024-10-28 17:56:29196semak imbas

Hibernate One-To-Many Ralat Pemetaan: "Tidak Dapat Menentukan Jenis untuk: java.util.List"

Dalam Hibernate, pengendalian Perhubungan One-To-Many memerlukan konfigurasi pemetaan yang teliti. Ralat ini biasanya berlaku apabila anotasi pemetaan diletakkan atau dikonfigurasikan secara salah.

Menganalisis kod yang disediakan, kami menghadapi ralat di bawah:

org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]

Ralat ini menunjukkan bahawa Hibernate tidak dapat menentukan jenis harta pelajar dalam kelas Kolej. Mengikut pemetaan yang disediakan, harta pelajar diberi anotasi dengan @OneToMany dan jenis List, tetapi anotasi diletakkan dengan tidak betul.

Penempatan Anotasi Betul

Dalam strategi akses medan, yang ditentukan oleh anotasi @Id, anotasi JPA hendaklah diletakkan betul-betul di atas setiap medan dan bukannya sifat pengambil. Dalam kes ini, peletakan anotasi yang betul untuk harta pelajar ialah:

@OneToMany(targetEntity=Student.class, mappedBy="college", fetch=FetchType.EAGER)
private List<Student> students;

Kelas Kolej Diubahsuai

Dengan peletakan anotasi diperbetulkan, kelas Kolej yang diubah suai kelihatan seperti ini:

@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
}

Kesimpulan

Dengan meletakkan anotasi @OneToMany dengan betul di atas medan pelajar, Hibernate kini boleh menentukan jenis harta dan memetakan One dengan betul -Kepada-Many hubungan antara Kolej dan Pelajar. Pelarasan ini menyelesaikan ralat "Tidak dapat menentukan jenis untuk: java.util.List".

Atas ialah kandungan terperinci \"Hibernate One-To-Many Ralat Pemetaan: \\\"Tidak Dapat Menentukan Jenis untuk: java.util.List\\\" - Mengapa dan Bagaimana untuk Membetulkannya?\". Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn