Das war mein Fall
Ich hatte eine Einheit Schüler , die mit waren viele-zu-eins Beziehung mit einer anderen Unternehmen Klassen (die Klassen , die er untersuchte).
Ich wollte die Daten in einer anderen Tabelle speichern, die Fremdschlüssel sowohl für Schüler als auch für Klassen enthielt . Zu einer bestimmten Instanz der Ausführung, brachte ich eine Liste von Studenten unter bestimmten Bedingungen, und jeder Schüler wird eine Referenz hat Klassen Klasse.
Beispielcode :-
Iterator<Student> itr = studentId.iterator();
while (itr.hasNext())
{
Student student = (Student) itr.next();
MarksCardSiNoGen bo = new MarksCardSiNoGen();
bo.setStudentId(student);
Classes classBo = student.getClasses();
bo.setClassId(classBo);
}
Hier können Sie sehen, dass ich sowohl den Schüler- als auch den Klassenverweis auf das BO setze , das ich speichern möchte. Beim Debuggen bei der Inspektion student.getClasses()wurde diese Ausnahme angezeigt ( com.sun.jdi.InvocationException).
Das Problem, das ich fand, war, dass ich nach dem Abrufen der Schülerliste mithilfe der HQL- Abfrage die Sitzung leerte und schloss . Als ich diese Aussage entfernte, war das Problem gelöst.session.close();
Die Sitzung wurde geschlossen, als ich endlich alle Daten in einer Tabelle ( MarksCardSiNoGen ) speicherte .
Hoffe das hilft.