Java 从控制台启动 jar 和通过双击启动 jar 之间的 Hibernate 不同行为

Java Hibernate Different Behavior between starting jar from console and explorer with double click

在我的 JavaFx 项目中,我使用 Hibernate 连接到本地 Postgresql 数据库。 在 Intellij 中,项目运行并且连接有效。此外,当我从控制台启动形成的 jar 时,一切正常并且可以读取数据。 但是,当我双击从资源管理器中启动 jar 时,它不起作用。也没有报错。

@FXML
protected void onHelloButtonClick() {
        System.out.println("Test");
        welcomeText.setText("Welcome to JavaFX Appdssdasdalication!");

        try{
            Session session = HibernateUtil.getSession();
            Alert alert = new Alert(Alert.AlertType.INFORMATION);
            alert.setTitle("Information Dialog");
            alert.setHeaderText("Look, an Information Dialog");
            alert.setContentText("test");
            alert.showAndWait();
            session.beginTransaction();



            Name name = new Name();
            name.setEmail("p.gue@gmail.com");
            name.setEmployeeId(1);

            session.save(name);

            session.getTransaction().commit();


            session.beginTransaction();

            String email = session.get(Name.class, 1).getEmail();
            welcomeText.setText(email);
            alert = new Alert(Alert.AlertType.INFORMATION);
            alert.setTitle("Information Dialog");
            alert.setHeaderText("Look, an Information Dialog");
            alert.setContentText(email);

            alert.showAndWait();
            //welcomeText.setText(((Name)session.createQuery("From Name").list().get(0)).getEmail());
            session.getTransaction().commit();

            HibernateUtil.shutdown();
        }catch(Exception e){
            welcomeText.setText(e.toString());

            Alert alert = new Alert(Alert.AlertType.INFORMATION);
            alert.setTitle("Information Dialog");
            alert.setHeaderText("Look, an Information Dialog");
            alert.setContentText(e.toString());

            alert.showAndWait();
        }

        welcomeText.setText("Welcome to sadssaddsadsaasd Appdssdasdalication!");

    }

双击启动时没有打开第一个测试警报。

Java JDK 16.

感谢您的帮助!

我的问题有了答案。

问题出在 hibernate.cfg.xml。我已经在我的程序中加载了这个文件。 但是当我双击我的 jar 时,工作目录是另一个。所以他找不到 cfg.xml.

感谢您的帮助!