为什么使用外键获取数据会向我发送错误?
Why is using foreign key to fetch data sending me an error?
我只是尝试使用外键获取数据,虽然它可以正常工作,但我遇到了一个奇怪的错误,我真的不知道为什么,因为我在互联网上找到了类似的代码并且它可以正常工作很好。
try {
Laptop lpa;
session.beginTransaction();
Student myStudent = session.get(Student.class, 2);
lpa = myStudent.getLaptop(); //error refers to this line of code
System.out.println(lpa.getVrsta());
session.getTransaction().commit();
session.close();
} finally {
sf.close();
}
它给了我这个错误:
ERROR:
Connection leak detected: there are 1 unclosed connections upon shutting down pool jdbc:mysql://....
Exception in thread "main" java.lang.NullPointerException
at oto_otm_mtm.Blogic.main
您在这里看到了两个问题;一个是 the NullPointerException
that's making your program crash in the first place,然后泄漏检测器被触发,因为您在 try
块中调用了 session.close()
(因此如果有异常,它会被跳过)。
你的lpa
可能是null
因为没有主键2的记录
(另请注意,您使用的样式已过时;至少,将 JPA 接口 (EntityManager
) 与 try-with-resources 一起使用,最好使用 Spring 等托管事务@Transactional
.)
我只是尝试使用外键获取数据,虽然它可以正常工作,但我遇到了一个奇怪的错误,我真的不知道为什么,因为我在互联网上找到了类似的代码并且它可以正常工作很好。
try {
Laptop lpa;
session.beginTransaction();
Student myStudent = session.get(Student.class, 2);
lpa = myStudent.getLaptop(); //error refers to this line of code
System.out.println(lpa.getVrsta());
session.getTransaction().commit();
session.close();
} finally {
sf.close();
}
它给了我这个错误:
ERROR:
Connection leak detected: there are 1 unclosed connections upon shutting down pool jdbc:mysql://....
Exception in thread "main" java.lang.NullPointerException
at oto_otm_mtm.Blogic.main
您在这里看到了两个问题;一个是 the NullPointerException
that's making your program crash in the first place,然后泄漏检测器被触发,因为您在 try
块中调用了 session.close()
(因此如果有异常,它会被跳过)。
你的lpa
可能是null
因为没有主键2的记录
(另请注意,您使用的样式已过时;至少,将 JPA 接口 (EntityManager
) 与 try-with-resources 一起使用,最好使用 Spring 等托管事务@Transactional
.)