I have a basic one to one mapping. When i try to extract information with the foreign key the first time i run the program i get an error message:ERROR: Connection leak detected: there are 1 unclosed connections upon shutting down pool jdbc:mysql://localhost:3306/novabaza?useSSL=false&serverTimezone=UTC
Exception in thread "main" java.lang.NullPointerException
at oto_otm_mtm.Blogic.main(Blogic.java:46). Second time i run the progam it always goes smoothly.
Tried to close the session then begin a new one because i thought that the problem is that I'm trying to retrieve data from a base that doesn't exist. Nothing changed.
try {
session.beginTransaction();
session.save(student);
session.save(laptop);
session.getTransaction().commit();
session.close();
session = sf.getCurrentSession();
session.beginTransaction();
Student myStudent = session.get(Student.class, 2);
lpa = myStudent.getLaptop(); /*Eclipse says that the problem is
here though i dont understand why.*/
System.out.println(lpa.getVrsta());
session.close();
} finally {
sf.close();
}
解决方案
You are closing the session but you are not closing the established database connection. Hence the connection leak. Please close the database connection. This will resolve the issue.
A titbit is to in your above code, have all your statements within a single transaction.