[RESOLVIDO]Problema com a notação @NamedQuery quando tento retorna uma lista do select

3 respostas
L

Olá pessoal sou novo no uso do Netbeans + Primefaces, estou tentanda aprender a usar essa tecnologia e quando estou tentando popular um datatable com informações cadastradas no banco postgres, não estou consiguindo. Não sei o que está errado desculpem caso esteja falando alguma bobeira :stuck_out_tongue: rsrsrsrs… segue o metodo que chama a a notação e o erro.


aqui é no managerBean:

List<Marca> marcaList;

get, set ....

public void listaMarca(){
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("ProjetoWebPU");
        EntityManager em = emf.createEntityManager();
        
        em.getTransaction().begin();
        Query q; 
        q = em.createQuery("Marca.findAll");
        
        marcaList.addAll(q.getResultList());
        
        em.close();
        emf.close();
    }

aqui na entidade:

@Entity
@Table(name = "client.tb_mar_marca")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Marca.findAll", query = "SELECT m FROM Marca m"),
    @NamedQuery(name = "Marca.findByMarId", query = "SELECT m FROM Marca m WHERE m.marId = :marId"),
    @NamedQuery(name = "Marca.findByMarDescricao", query = "SELECT m FROM Marca m WHERE m.marDescricao = :marDescricao")})
public class Marca implements Serializable {....}

Erro no console:

GRAVE: Error Rendering View[/cadastroMarcaForm.xhtml]
javax.el.ELException: /cadastroMarcaForm.xhtml @36,91 value="#{marcaBean.marcaList}": Error reading 'marcaList' on type br.com.projetoWeb.beans.MarcaManagedBean
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
	at javax.faces.component.UIData.getValue(UIData.java:731)
	at org.primefaces.component.datatable.DataTable.getValue(DataTable.java:786)
	at javax.faces.component.UIData.getDataModel(UIData.java:1798)
	at javax.faces.component.UIData.getRowCount(UIData.java:356)
	at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:602)
	at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:248)
	at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:224)
	at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:108)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:61)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45)
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeContent(FieldsetRenderer.java:86)
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeMarkup(FieldsetRenderer.java:68)
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeEnd(FieldsetRenderer.java:45)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:410)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: 
Exception Description: Syntax error parsing the query [Marca.findAll], line 1, column 0: unexpected token [Marca].
Internal Exception: NoViableAltException(80@[])
	at org.eclipse.persistence.internal.jpa.EntityManagerImpl.createQuery(EntityManagerImpl.java:1477)
	at br.com.projetoWeb.beans.MarcaManagedBean.listaMarca(MarcaManagedBean.java:81)
	at br.com.projetoWeb.beans.MarcaManagedBean.getMarcaList(MarcaManagedBean.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:169)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	... 48 more

Erro na pagina:

An Error Occurred:

An exception occurred while creating a query in EntityManager: Exception Description: Syntax error parsing the query [Marca.findAll], line 1, column 0: unexpected token [Marca]. Internal Exception: NoViableAltException(80@[])

Agradeço muito a ajuda de vocês.

3 Respostas

drsmachado

Por que não usa a tag [code]?

L

ajustado, é que é minha primeira vez que uso o forum :slight_smile: vlw pela dica.

L

Pessoal já conseguir solucionar o problema encontra-se neste outro forum.

http://javafree.uol.com.br/viewtopic.jbb?t=886692

:roll: 8)

Criado 6 de agosto de 2012
Ultima resposta 6 de ago. de 2012
Respostas 3
Participantes 2