1
나는 곧 다가오는 결승전을위한 훈련으로 작은 웹 응용 프로그램을 개발하려고 노력하고 있으며, 내가 뭘 잘못하고 있는지 알 수 없습니다. jpa에서 managedbean을 인스턴스화 할 수없는 이유는 무엇입니까?
이러한 내 * 엔티티 *의 LKunde
및
Konto
(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
과 관련이 있다고 생각하지만 정확한 문제가 무엇인지 알지 못합니다.