我有一个在 Netbeans IDE 中正确运行的应用程序,但是在构建它之后,它不仅会在某个时间运行,应用程序会在特定点停止响应事件。在命令行中运行 jar 文件时,我能够重现这个问题,我得到了这个异常,我把它附加在这里
这就是我在与对象 db 交互时使用的数据类
public class DataClass {
private EntityManager em = null;
private EntityManagerFactory emf = null;
private long accNo;
public DataClass() {
connectDatabase();
}
public DataClass(long accNo) {
this.accNo=accNo;
connectDatabase();
}
private void connectDatabase() {
if (emf == null) {
emf = Persistence.createEntityManagerFactory("Atm.odb");
}
if (em == null) {
em = emf.createEntityManager();
}
}
public Customer getAccount(long id) {
connectDatabase();
try {
TypedQuery q = em.createQuery("SELECT cu FROM Customer cu where cu.id= :id", Customer.class);
q.setParameter("id", id);
Customer c=(Customer)q.getSingleResult();
closeConnections();
return c;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public void closeConnections(){
emf.close();
em.close();
}
}
在搜索谷歌后,我仍然不知道如何解决。但是,此异常仅在第二次运行应用程序后发生。如果我在重新启动系统后第一次运行该应用程序。一切正常,但关闭应用程序并重新运行后,会出现此问题。虽然该应用程序是基于 javafx 构建的