Domanda
Posso fare quanto segue nella mia mappatura HBM?
<class name="Employee" table="employees">
<!-- assume that each person only has exactly one supervisor -->
<many-to-one name="supervisor" class="Employee" column="supervisorId" />
</class>
Quando uso la mappatura HBM sopra, il mio server si rifiuta di iniziare con il seguente errore:
org.hibernate.InstantiationException: could not instantiate test object Employee
Caused by: java.lang.StackOverflowError
at Employee.<init>(Employee.java:11)
at Employee.<init>(Employee.java:11)
at Employee.<init>(Employee.java:11)
...... (about a hundred duplicates)
riga 11 del dipendente.java dice semplicemente:
public class Employee implements Serializable {
Come dovrei modellare la mia relazione supervisore-dipendente? Non esiste un pojo speciale per gli oggetti supervisori e supervisori non hanno campi speciali.
Soluzione
Hibernate non dovrebbe avere problemi con la mappatura di tale relazione.
Sembra che Infinite Recorsion sia causata dall'errore nel tuo codice, qualcosa del genere:
public class Employee {
private Employee supervisor = new Employee();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow