Ruhezustandsfehler: Typ für java.util.List konnte nicht ermittelt werden
Problem:
Beim Versuch, Hibernate für CRUD-Vorgänge mit Eins-zu-Viele- und Viele-zu-Eins-Beziehungen zu verwenden, tritt der folgende Fehler auf:
org.hibernate.MappingException: Could not determine type for: java.util.List, at table: College, for columns: [org.hibernate.mapping.Column(students)]
Entitätsklassen:
<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>
Zusätzliche Details:
Lösung:
Das Problem tritt auf, weil Hibernate die nicht ermitteln kann Art des Studentenfeldes aufgrund der Verwendung einer Feldzugriffsstrategie. Um dieses Problem zu beheben, sollten die JPA-Anmerkungen direkt über jedem Feld anstelle der Getter-Eigenschaften platziert werden.
<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>
Das obige ist der detaillierte Inhalt vonWarum gibt Hibernate in Eins-zu-vielen-Beziehungen den Fehler „Typ für java.util.List konnte nicht ermittelt werden' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!