Ruhezustand - Die Auflistung hat weder einen generischen Typ noch OneToMany.targetEntity ().
Problem
Definiert in der Ruhezustand-Entwicklung eine bis mehrere Beziehungen über Anmerkungen.
package com.example.user.model; @Entity @Table(name = "USER", schema = "MKYONG") public class User implements java.io.Serializable { private Set address = new HashSet(0); //... @OneToMany(orphanRemoval=true, cascade=CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "user") public Set getAddress() { return this.address; } }
Aber es trifft folgende Ausnahme:
Initial SessionFactory creation failed. org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined: com.example.user.model.user
Lösung
Die Klasse "User" hat eine Raw-Typensammlung "Set address", und Hibernate unterstützt dies nicht, da Hibernate nicht weiß, mit welcher "Klasse" eine Verknüpfung hergestellt werden soll.
Zum Beispiel,
-
Adresse einstellen; // Das Set ist ein Raw-Typ, der Ruhezustand gibt eine Ausnahme zurück.
-
Adresse einstellen; // Hibernate weiß, dass Set jetzt die Adressklasse ist.
Ihre Klasse muss sich also folgendermaßen ändern:
package com.example.user.model; @Entity @Table(name = "USER", schema = "MKYONG") public class User implements java.io.Serializable { private Set address = new HashSet(0); //... @OneToMany(orphanRemoval=true, cascade=CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "user") public Set getAddress() { return this.address; } }