Це була моя справа
Я мав сутність Студент , який , мають багато-до-одного відносин з іншим об'єктом класами (класи , які він вивчав).
Я хотів зберегти дані в іншій таблиці, яка мала зовнішні ключі як студентів, так і класів . На якому - то разі виконання, я приносив список з студентів за певних умов, і кожен студент матиме посилання на 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);
}
Тут ви можете переконатися, що я встановлюю як посилання студентів, так і класів на BO, який я хочу зберегти. Але під час налагодження, коли я перевіряв, student.getClasses()
він показував цей виняток ( com.sun.jdi.InvocationException
).
Проблема , яку я виявив, що, після завантаження в студентському списку , використовуючи HQL запит, я промивку і закриття на сесії . Коли я видалив це session.close();
твердження, проблема була вирішена.
Сеанс був закритий, коли я нарешті зберег усі дані в таблиці ( MarksCardSiNoGen ).
Сподіваюся, це допомагає.