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.

È stato utile?

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
scroll top