2012-12-02 5 views
0

ejb 3.0 튜토리얼에서 작업 중이며 설정하면 데이터베이스에 데이터를 추가하려고합니다. 오류가 나타나지 않고 다음을 추가하지 않습니다. 이 세션 빈 코드 :이 방법은 데이터베이스에 daa를 추가하지 않습니다.

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);} 

당신이 던져 오류를 잡을 수 있기 때문에 어떤 오류를 표시하지 않습니다

답변

1

를 메소드 creercompte을 시도 할 단지의 주요 방법, 반환 DB를 하나의 데이터 호출자에게 지역화 된 메시지를 보내고 호출자는 반환 된 메시지를 완전히 무시합니다. catch (Exception) 블록을 완전히 제거하고 코드를 다시 실행하면 NullPointerException이 발생합니다.

세션 빈은 new GestionnaireDeCompteBancaire()을 사용하여 인스턴스화되지 않아야합니다. JBoss 또는 Glassfish와 같은 Java EE 컨테이너 내부에 배포 된 Java EE 응용 프로그램 내부에 패키지화 된 다음이 동일한 컨테이너에 배포 된 웹 응용 프로그램 또는 Java EE 클라이언트 응용 프로그램을 사용하여 호출됩니다. 나는 당신이 정말로 책이나 EJB (그리고 예외 처리)에 대한 진지한 튜토리얼을 읽을 필요가 있다고 생각한다.

+0

그러면 관리 빈을 사용하여 메소드를 테스트 할 수 있습니까 ?? – manu