2012-05-06 5 views
1

나는 곧 다가오는 결승전을위한 훈련으로 작은 웹 응용 프로그램을 개발하려고 노력하고 있으며, 내가 뭘 잘못하고 있는지 알 수 없습니다. jpa에서 managedbean을 인스턴스화 할 수없는 이유는 무엇입니까?

이러한 내 * 엔티티 *의 L KundeKonto (many2many-관계), 자동 생성 된 테이블 Kunde_Konto 내 실체의 두 개의 기본 키를 가지고 있습니다.

@Entity 
@NamedQueries({ 
    @NamedQuery(name="findKundeById", query="select k from Kunde k where k.svnr = :svnr"), 
}) 
public class Kunde implements Serializable { 
    private static final long serialVersionUID = 1L; 
    @Id 
    @Column(precision=4, scale=0) 
    private Long svnr; 

    @ManyToMany 
    private List<Konto> konten; 
} 

@Entity 
@NamedQueries({ 
    @NamedQuery(name="findKontoByBesitzer", query="select k from Konto k join k.besitzer b where b.svnr = :svnr") 
}) 
public class Konto implements Serializable { 
    private static final long serialVersionUID = 1L; 
    @Id 
    @Column(precision=4, scale=0) 
    private Long knr; 

    @ManyToMany(mappedBy="konten") 
    private List<Kunde> besitzer; 
} 

그리고 이것은 내 관리 빈입니다 :

번역

com.sun.faces.mgbean.ManagedBeanCreationException: Klasse at.pf.controller.KundenKontoList kann nicht instanziiert werden. 

KundenKontoList이 instatiated 수 없음을 의미 예외는, 라인에서 발생합니다

@ManagedBean 
@SessionScoped 
public class KundenKontoList implements Serializable { 
    private FacesContext fc = null; 
    private HttpServletRequest hsr = null; 
    private HttpSession hs = null; 

    @EJB 
    private KontoFacadeLocal kontoFacade; 

    @EJB 
    private KundeFacadeLocal kundeFacade; 

    private Kunde k; 
    private List<Konto> konten; 

    /** 
    * Creates a new instance of KundenKontoList 
    */ 
    public KundenKontoList() { 
     fc = FacesContext.getCurrentInstance(); 
     hsr = (HttpServletRequest) fc.getExternalContext().getRequest(); 
     hs = hsr.getSession(); 

     k = (Kunde) hs.getAttribute("kunde"); 
     konten = kontoFacade.findKontoByBesitzer(k); 
    } 
} 

:

konten = kontoFacade.findKontoByBesitzer(k); 

//method in the facade: 
@Override 
public List<Konto> findKontoByBesitzer(Kunde k) { 
    Query q = em.createNamedQuery("findKontoByBesitzer"); 
    q.setParameter("svnr", k.getSvnr()); 
    return q.getResultList(); 
} 

나는 그것이 kontoFacade과 관련이 있다고 생각하지만 정확한 문제가 무엇인지 알지 못합니다.

답변

0

managedbean 초기화에 실패하면 ejbs 삽입이 실패한 것으로 나에게 제안합니다. 더 이상 오류 메시지가 있습니까?

관련 문제