Rumah > Java > javaTutorial > \'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
Lepaskan: 2024-10-28 17:56:29
asal
403 orang telah melayarinya

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)]
Salin selepas log masuk

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;
Salin selepas log masuk

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
}
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan