Witam
Mam problem z jednym zapytaniem, mianowicie. Piszę swoją pierwszą aplikację w java EE z wykorzystaniem JPA + JSF. I chcialbym pobrac z bazy danych liste zamowien lecz tylko interesuja mnie wartosci "czasu trwania zamowienie" oraz "zaplaty". W klasie ziarna zarządzanego mam taką oto metodę:
@ManagedBean
@SessionScoped
public class ZamowienieWsBean {
private List<ZamowienieWs> lista;
public List<ZamowienieWs> getLista() {
EntityManager em = DBManager.getManager().createEntityManager();
lista = em.createQuery("SELECT new ZamowienieWs(z.dlugosc,z.zaplata) FROM ZamowienieWs z").getResultList();
em.close();
return lista;
}
public ZamowienieWs getZamowienie() {
return zamowienie;
}
public void setZamowienie(ZamowienieWs zamowienie) {
this.zamowienie = zamowienie;
}
public ZamowienieWsBean() {
}}
W klasie encji stworzylem konstruktor specjalnie dla tego zapytania:
public ZamowienieWs(Integer dlugosc, Float zaplata) {
this.dlugosc = dlugosc;
this.zaplata = zaplata;
}
Widok odpowiedzialny za wyswietlanie zawartosci listy wyglada nastepująco:
<ui:define name="content">
<h:form>
<h:dataTable value="#{zamowienieWsBean.lista}" var="ws">
<h:column>
<f:facet name="header">Zaplata</f:facet>
<h:outputText value="#{ws.zaplata}"/>
</h:column>
<h:column>
<f:facet name="header">Dlugosc</f:facet>
<h:outputText value="#{ws.dlugosc}"/>
</h:column>
</h:dataTable>
</h:form>
</ui:define>
I wszystko powinno byc ok (tak mi sie wydawalo) ale niestety dostaje taki oto wyjątek:
An exception occurred while creating a query in EntityManager: Exception Description: Error compiling the query [SELECT new ZamowienieWs(z.dlugosc,z.zaplata) FROM ZamowienieWs z], line 1, column 7: constructor class [ZamowienieWs] not found.
Wie ktos może dlaczego nie widzi konstruktora??