0

私はejb 3.0チュートリアルに取り組んでおり、実行を設定したときにデータベースにデータを追加したいのですが、エラーは表示されず、次のデータもデータベースに追加されません:これはセッションBeanコードです:

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 を試すためだけのものです

4

1 に答える 1

1

スローされたエラーをキャッチし、ローカライズされたメッセージを呼び出し元に返し、呼び出し元は返されたメッセージを完全に無視するため、エラーは示されません。ブロックを完全に削除し、catch (Exception)コードを再実行すると、おそらく NullPointerException が発生します。

セッション Bean は、 を使用してインスタンス化することは想定されていませんnew GestionnaireDeCompteBancaire()。これは、JBoss や Glassfish などの Java EE コンテナー内にデプロイされた Java EE アプリケーション内にパッケージ化され、同じコンテナー内にデプロイされた Web アプリケーションまたは Java EE クライアント アプリケーションを使用して呼び出されることになっています。EJB (および例外処理) に関する書籍または本格的なチュートリアルを読む必要があると思います。

于 2012-12-02T21:57:01.377 に答える