【问题标题】:the method doesn't add daa in the database该方法不会在数据库中添加 daa
【发布时间】:2025-12-12 09:15:02
【问题描述】:

我正在编写一个 ejb 3.0 教程,我想在我设置运行时将数据添加到数据库中,它不会指示任何错误,也不会在数据库中添加以下数据:这是会话豆代码:

public String creerCompte(CompteBancaire c) {

 try{
  em.persist(c);

  return null;

  }catch (Exception ex) {
        return ex.getLocalizedMessage();
    }
}
public static void main(String[] args) throws Exception{
GestionnaireDeCompteBancaire g=new GestionnaireDeCompteBancaire();

CompteBancaire c=new CompteBancaire("John Lennon", 150000);
g.creerCompte(c);}

方法 main 只是为了尝试方法 creercompte out

【问题讨论】:

    标签: jakarta-ee ejb ejb-3.0 stateless-session-bean session-bean


    【解决方案1】:

    它不表示任何错误,因为您捕获了它抛出的错误,将其本地化消息返回给调用者,而调用者完全忽略了返回的消息。完全删除catch (Exception) 块,重新运行您的代码,您可能会得到一个 NullPointerException。

    不应使用new GestionnaireDeCompteBancaire() 实例化会话 bean。它应该打包在 Java EE 应用程序中,该应用程序部署在 JBoss 或 Glassfish 等 Java EE 容器中,然后使用部署在同一容器中的 Web 应用程序或使用 Java EE 客户端应用程序调用。我认为您确实需要阅读有关 EJB(和异常处理)的书或严肃的教程。

    【讨论】: