Rumah > Java > javaTutorial > teks badan

Mengapa saya mendapat \'Tidak dapat menentukan jenis untuk: java.util.List\' apabila menggunakan anotasi @OneToMany Hibernate?

DDD
Lepaskan: 2024-10-25 17:23:02
asal
728 orang telah melayarinya

Why am I getting

Tidak Dapat Menentukan Jenis untuk Senarai

Masalah:

Apabila menggunakan Hibernate untuk operasi data, anda menghadapi ralat " Tidak dapat menentukan jenis untuk: java.util.List." Ini berlaku semasa mentakrifkan hubungan One-To-Many antara entiti Kolej dan Pelajar menggunakan anotasi @OneToMany dan @ManyToOne.

Latar Belakang:

Ralat timbul kerana Hibernate ialah tidak dapat menentukan jenis koleksi (Senarai). Anotasi hendaklah digunakan pada medan dan bukannya kaedah getter apabila menggunakan strategi akses medan, seperti yang ditunjukkan oleh anotasi @Id.

Penyelesaian:

Untuk menyelesaikan ralat, ubah suai anotasi @OneToMany dalam kelas Kolej untuk digunakan terus pada medan dan bukannya kaedah pengambil. Berikut ialah kod yang diperbetulkan:

<code class="java">// College.java

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

    // Other getters and setters omitted
}</code>
Salin selepas log masuk

Pertimbangan Tambahan:

  • Semak dua kali laluan kelas dan pastikan kebergantungan Hibernate disertakan.
  • Pastikan struktur jadual pangkalan data sejajar dengan pemetaan entiti.
  • Pertimbangkan untuk menambah @JoinColumn(name="collegeId") pada anotasi @ManyToOne dalam kelas Pelajar jika lajur kunci asing dalam pangkalan data mempunyai nama yang berbeza daripada "collegeId."

Atas ialah kandungan terperinci Mengapa saya mendapat \'Tidak dapat menentukan jenis untuk: java.util.List\' apabila menggunakan anotasi @OneToMany Hibernate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!