Это был мой случай
У меня была сущность Студент , которая имела отношение многие-к-одному с другой сущностью Классы (классы, которые он изучал).
Я хотел сохранить данные в другую таблицу, в которой были внешние ключи обоих Student и Classes . В какой-то момент казни я приносил Список из Студентов при некоторых условиях, и каждый Студент будет иметь ссылку Классы учебный класс.
Пример кода: -
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);
}
Здесь вы можете видеть, что я устанавливаю Student и Classes ссылку на BO , который я хочу сохранить. Но во время отладки, когда я проверял student.getClasses()
, показывалось это исключение (com.sun.jdi.InvocationException
).
Проблема, которую я обнаружил, заключалась в том, что после извлечения списка Student с использованием запроса HQL я сбрасывал и закрывал сессия . Когда я удалил это session.close();
заявление, проблема была решена.
Сессия была закрыта, когда я наконец сохранил все данные в таблицу ( MarksCardSiNoGen ).
Надеюсь, это поможет.