3
public List<Examination> loadExaminations(int pID) {
session = sessionFactory.openSession();
session.setFlushMode(FlushMode.MANUAL);
ManagedSessionContext.bind(session);
session.beginTransaction();
Patient tpatient = (Patient) session.get(Patient.class, pID);
List<Examination> examinations = new LinkedList<>();
if (tpatient.getExaminations()!=null)
if (!tpatient.getExaminations().isEmpty()) { //I get the exception to this line
examinations = (List<Examination>) tpatient.getExaminations();
}
ManagedSessionContext.unbind(sessionFactory);
session.flush();
session.getTransaction().commit();
session.close();
return examinations;
}
例外:org.hibernate.SessionException:会话关闭
org.hibernate.SessionException: Session is closed
我得到的例外,但实际上它似乎是精细的程序;正在发生永恒的事情,但例外是困扰着我。
感谢您的帮助!
'session.getTransaction()。提交()'会自动关闭会话,所以我认为除了正在由'session.close()'抛出? 'flush()'也是不必要的。 – MattR
不,这个tpatient.getExaminations()。isEmpty()语句抛出异常! – BLama
您可能正在处理分离的对象。 – Jay