Quero fazer um between de datas, e passar uma String que seria uma placa do veiculo.
Minha Model
@Entity@DatapublicclassServico{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongcodigo;@NotNull@Column(name="dia_servico")@Temporal(TemporalType.DATE)privateDatediaServico;@NotNull@Column(name="dia_garantia")@Temporal(TemporalType.DATE)privateDatediaGarantia;@NotNull@NotBlank@Column(name="descricao_servico",length=255)privateStringdescricaoServico;@OneToOne(cascade=CascadeType.ALL)//Se estiver Salvando ou apagando, salva ou deleta a entidade TipoServico Junto ao Servico@JoinColumn(name="codigo_tipo_sevico")privateTipoServicotipoServico;@Enumerated(EnumType.STRING)@Column(name="status_servico")privateStatusServicostatusServico;@Enumerated(EnumType.STRING)@Column(name="tipo_pagamento")privatePagamentopagamento;@Column(name="valor",nullable=false,precision=10,scale=2)privateBigDecimalvalor=BigDecimal.ZERO;@Column(name="desconto",nullable=false,precision=10,scale=2)privateBigDecimaldesconto=BigDecimal.ZERO;@Min(value=0)@Column(name="total_com_desconto",nullable=false,precision=10,scale=2)privateBigDecimaltotalComDesconto=BigDecimal.ZERO;@Column(columnDefinition="text")privateStringobservacao;@ManyToOne@JoinColumn(name="codigo_carro")privateCarrocarro;@ManyToOne@JoinColumn(name="codigo_cliente")privateClientecliente;EntidadeCarro@Entity@DatapublicclassCarro{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongcodigo;@NotBlank@NotNull@Pattern(regexp="([a-zA-Z]{3}-\\d{4})?")@Size(max=8)@Column(unique=true,nullable=false,length=8)privateStringplaca;
String jpql = "SELECT object FROM Classe object WHERE object.atributoData BETWEEN :dataInicio AND :dataFim AND object.atributoPlacaDoVeiculo = :placaDoVeiculo";
Agora ficou fácil, né?
Dayson_Rodrigues
Estou quebrando cabeça aqui, meu codigo está assim
DAO
public List buscarServicoDeVeiculoEntreDatas(Date diaInicio, Date diaFim, Carro carro) {
returnmanager.createQuery("SELECT s FROM Servico s WHERE s.dataServico BETWEEN :dataInicio AND :dataFim AND s.carro.placa = :placaDoVeiculo",Servico.class).setParameter("dataInicio",diaInicio).setParameter("dataFim",diaFim).setParameter("placaDoVeiculo",carro.getPlaca()).getResultList();}
ADVERTÊNCIA:#{consultaServico.buscaServicoDeVeiculoEntreDatas}: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: dataServico of: com.irmaosuspension.controleservico.modelo.Servico [SELECT s FROM com.irmaosuspension.controleservico.modelo.Servico s WHERE s.dataServico BETWEEN :dataInicio AND :dataFim AND s.carro.placa = :placaDoVeiculo]javax.faces.FacesException:#{consultaServico.buscaServicoDeVeiculoEntreDatas}: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: dataServico of: com.irmaosuspension.controleservico.modelo.Servico [SELECT s FROM com.irmaosuspension.controleservico.modelo.Servico s WHERE s.dataServico BETWEEN :dataInicio AND :dataFim AND s.carro.placa = :placaDoVeiculo]atcom.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)atjavax.faces.component.UICommand.broadcast(UICommand.java:315)atjavax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)atjavax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)atcom.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)atcom.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)atcom.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)atjavax.faces.webapp.FacesServlet.service(FacesServlet.java:658)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)atorg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)atorg.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)atorg.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)atorg.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)atorg.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)atorg.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1347)atorg.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)atjava.lang.Thread.run(Thread.java:745)Causedby:javax.faces.el.EvaluationException:java.lang.IllegalArgumentException:org.hibernate.QueryException:couldnotresolveproperty:dataServicoof:com.irmaosuspension.controleservico.modelo.Servico[SELECTsFROMcom.irmaosuspension.controleservico.modelo.ServicosWHEREs.dataServicoBETWEEN:dataInicioAND:dataFimANDs.carro.placa=:placaDoVeiculo]atjavax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)atcom.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)...29moreCausedby:java.lang.IllegalArgumentException:org.hibernate.QueryException:couldnotresolveproperty:dataServicoof:com.irmaosuspension.controleservico.modelo.Servico[SELECTsFROMcom.irmaosuspension.controleservico.modelo.ServicosWHEREs.dataServicoBETWEEN:dataInicioAND:dataFimANDs.carro.placa=:placaDoVeiculo]atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1679)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:313)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)atorg.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)atorg.jboss.weldx.persistence.EntityManager$280201877$Proxy$_$$_WeldClientProxy.createQuery(UnknownSource)atcom.irmaosuspension.controleservico.dao.ServicoDAO.buscarServicoDeVeiculoEntreDatas(ServicoDAO.java:101)atcom.irmaosuspension.controleservico.dao.ServicoDAO$Proxy$_$$_WeldSubclass.buscarServicoDeVeiculoEntreDatas(UnknownSource)atcom.irmaosuspension.controleservico.service.ServicoService.buscarServicoEntreDatas(ServicoService.java:49)atcom.irmaosuspension.controleservico.controller.ConsultaServico.buscaServicoDeVeiculoEntreDatas(ConsultaServico.java:59)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.apache.el.parser.AstValue.invoke(AstValue.java:247)atorg.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)atorg.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)atorg.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)atcom.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)atjavax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)...30moreCausedby:org.hibernate.QueryException:couldnotresolveproperty:dataServicoof:com.irmaosuspension.controleservico.modelo.Servico[SELECTsFROMcom.irmaosuspension.controleservico.modelo.ServicosWHEREs.dataServicoBETWEEN:dataInicioAND:dataFimANDs.carro.placa=:placaDoVeiculo]atorg.hibernate.QueryException.generateQueryException(QueryException.java:120)atorg.hibernate.QueryException.wrapWithQueryString(QueryException.java:103)atorg.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:218)atorg.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:142)atorg.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:115)atorg.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:76)atorg.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:150)atorg.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:302)atorg.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:240)atorg.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1907)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:305)...51moreCausedby:org.hibernate.QueryException:couldnotresolveproperty:dataServicoof:com.irmaosuspension.controleservico.modelo.Servicoatorg.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:62)atorg.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:56)atorg.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:1788)atorg.hibernate.hql.internal.ast.tree.FromElementType.getPropertyType(FromElementType.java:393)atorg.hibernate.hql.internal.ast.tree.FromElement.getPropertyType(FromElement.java:505)atorg.hibernate.hql.internal.ast.tree.DotNode.getDataType(DotNode.java:660)atorg.hibernate.hql.internal.ast.tree.DotNode.prepareLhs(DotNode.java:264)atorg.hibernate.hql.internal.ast.tree.DotNode.resolve(DotNode.java:204)atorg.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:109)atorg.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:104)atorg.hibernate.hql.internal.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:1013)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1286)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4713)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:4443)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2130)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2055)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:813)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:607)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:311)atorg.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:259)atorg.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:262)atorg.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:190)...59moreabr10,201710:35:02AMcom.sun.faces.context.AjaxExceptionHandlerImplhandlePartialResponseErrorGRAVE:javax.faces.el.EvaluationException:java.lang.IllegalArgumentException:org.hibernate.QueryException:couldnotresolveproperty:dataServicoof:com.irmaosuspension.controleservico.modelo.Servico[SELECTsFROMcom.irmaosuspension.controleservico.modelo.ServicosWHEREs.dataServicoBETWEEN:dataInicioAND:dataFimANDs.carro.placa=:placaDoVeiculo]atjavax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)atcom.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)atjavax.faces.component.UICommand.broadcast(UICommand.java:315)atjavax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)atjavax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)atcom.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)atcom.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)atcom.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)atjavax.faces.webapp.FacesServlet.service(FacesServlet.java:658)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)atorg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)atorg.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)atorg.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)atorg.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)atorg.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)atorg.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1347)atorg.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)atjava.lang.Thread.run(Thread.java:745)Causedby:java.lang.IllegalArgumentException:org.hibernate.QueryException:couldnotresolveproperty:dataServicoof:com.irmaosuspension.controleservico.modelo.Servico[SELECTsFROMcom.irmaosuspension.controleservico.modelo.ServicosWHEREs.dataServicoBETWEEN:dataInicioAND:dataFimANDs.carro.placa=:placaDoVeiculo]atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1679)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1608)atorg.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:313)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)atorg.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)atorg.jboss.weldx.persistence.EntityManager$280201877$Proxy$_$$_WeldClientProxy.createQuery(UnknownSource)atcom.irmaosuspension.controleservico.dao.ServicoDAO.buscarServicoDeVeiculoEntreDatas(ServicoDAO.java:101)atcom.irmaosuspension.controleservico.dao.ServicoDAO$Proxy$_$$_WeldSubclass.buscarServicoDeVeiculoEntreDatas(UnknownSource)atcom.irmaosuspension.controleservico.service.ServicoService.buscarServicoEntreDatas(ServicoService.java:49)atcom.irmaosuspension.controleservico.controller.ConsultaServico.buscaServicoDeVeiculoEntreDatas(ConsultaServico.java:59)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:498)atorg.apache.el.parser.AstValue.invoke(AstValue.java:247)atorg.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267)atorg.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)atorg.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)atcom.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)atjavax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)...30more
L
Luis_Augusto_Santos
Primeiro: leia a mensagem de erro e tente entendê-la
could not resolve property: dataServico of: com.irmaosuspension.controleservico.modelo.Servico [SELECT s FROM com.irmaosuspension.controleservico.modelo.Servico s WHERE s.dataServico BETWEEN :dataInicio AND :dataFim AND s.carro.placa = :placaDoVeiculo]