Ralat Hibernate: Tidak Dapat Menentukan Jenis untuk java.util.List
Masalah:
Apabila cuba menggunakan Hibernate untuk operasi CRUD yang melibatkan perhubungan One-To-Many dan Many-To-One, ralat berikut ditemui:
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]
Kelas Entiti:
<code class="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; } @Entity public class Student { @Id @GeneratedValue(strategy = GenerationType.AUTO) private int studentId; private String studentName; @ManyToOne @JoinColumn(name = "collegeId") private College college; }</code>
Butiran Tambahan:
Penyelesaian:
Isu timbul kerana Hibernate tidak dapat menentukan jenis bidang pelajar kerana penggunaan strategi capaian medan. Untuk menyelesaikan masalah ini, anotasi JPA hendaklah diletakkan betul-betul di atas setiap medan dan bukannya sifat getter.
<code class="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) public List<Student> students; }</code>
Atas ialah kandungan terperinci Mengapa Hibernate Melemparkan Ralat \'Tidak Dapat Menentukan Jenis untuk java.util.List\' dalam Perhubungan Satu-Ke-Banyak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!