Olá, Gente! Estou com um probleminha esquisito aqui. Sou nova nessas coisas de annotations, JPA…etc…
Bem é o seguinte:
Tenho já uma estrutura de pacotes e classes que já funcionam com annotations. Vale ressaltar q qm configurou essas coisas foi uma segunda pessoa que não tarabalha mais comigo 
Só que agora to tendo que usar uma tabela que não necessariamente deveria ser criada uma classe correspondente, mas na minha primeira tentativa de consulta, já deu erro de mapeamento:
[url]18:01:05,850 WARN [InterceptorRegistry] applicable interceptors is non-existent for public java.util.ArrayList br.org.bolsaTrabalho.controller.OfertaController.buscarOfertabyLocalTrabalho(java.lang.String)
18:01:12,789 ERROR [application] javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: indicefinanceiro is not mapped [select indFin from indicefinanceiro where indFin.titulo like(’%Salário Mínimo Federal%’)]
javax.faces.el.EvaluationException: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: indicefinanceiro is not mapped [select indFin from indicefinanceiro where indFin.titulo like(’%Salário Mínimo Federal%’)]
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
at javax.faces.component.UICommand.broadcast(UICommand.java:387)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:324)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:299)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:256)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:469)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: indicefinanceiro is not mapped [select indFin from indicefinanceiro where indFin.titulo like(’%Salário Mínimo Federal%’)]
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:159)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:65)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:219)
at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
at $Proxy190.verificaSalarioMinimo(Unknown Source)
at br.org.bolsaTrabalho.beans.ManterOfertaBean.incluiOferta(ManterOfertaBean.java:432)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:170)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
… 36 more
[/url]
Sendo assim, criei uma classe representando a tabela indicefinanceiro, que está da seguinte forma:
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "indicefinanceiro")
public class IndiceFinanceiro {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "idindicefinanceiro")
private Integer idIndiceFinanceiro;
@Column(name = "titulo")
private String tituloIndice;
@Column(name = "data_vigencia_inicial")
private Date dataVigenciaInicial;
@Column(name = "data_vigencia_final")
private Date dataVigenciaFinal;
@Column(name = "valor")
private Integer valorIndice;
public Integer getIdIndiceFinanceiro() {
return idIndiceFinanceiro;
}
public void setIdIndiceFinanceiro(Integer idIndiceFinanceiro) {
this.idIndiceFinanceiro = idIndiceFinanceiro;
}
public String getTituloIndice() {
return tituloIndice;
}
public void setTituloIndice(String tituloIndice) {
this.tituloIndice = tituloIndice;
}
public Date getDataVigenciaInicial() {
return dataVigenciaInicial;
}
public void setDataVigenciaInicial(Date dataVigenciaInicial) {
this.dataVigenciaInicial = dataVigenciaInicial;
}
public Date getDataVigenciaFinal() {
return dataVigenciaFinal;
}
public void setDataVigenciaFinal(Date dataVigenciaFinal) {
this.dataVigenciaFinal = dataVigenciaFinal;
}
public Integer getValorIndice() {
return valorIndice;
}
public void setValorIndice(Integer valorIndice) {
this.valorIndice = valorIndice;
}
}
daí, no DAO onde preciso usá-la, faço o seguinte:
[code] public Boolean verificaSalarioMinimo(Integer jornadaSemanal, Double salario) {
Query query = em
.createQuery("select indFin from indicefinanceiro where indFin.titulo like('%Salário Mínimo Federal%')");
Object obj = query.getSingleResult();
Double salarioMinimoFederal = (Double) obj;
Double salarioMinimoPermitido;
[/code]
Daí, na hora de debugar, qndo ele chega na consulta, repete o mesmo erro apresentado anteriormente.
Por favor, alguém poderia me ajudar? Na minha visão pobre está mapeado corretamente, mas infelizmente ele diz q não.
To usando Eclipse Galileo, JBoss 5.0 e