Estou trabalhando com JPA pela primeira vez e estou com dificuldades para realizar um select passando parâmetros (usar o where). Tentei fazer de acordo com o código abaixo (exemplo encontrado na internet), mas na hora de setar o Path está dando erro (IllegalArgumentException).
Já verifiquei o nome da coluna e está correto, não sei mais o que pode ser. Para falar a verdade eu não entendi bem o que essa exception quer dizer.
Agora estou trabalhando na mesma solução porém usando o createQuery com o SQL do JPA, mas acredito que exista uma forma nativa (a que tentei acima) muito mais intuitiva de usar.
Olá, poste por favor o código da classe br.com.banestes.sonda.jpa.entity.TbTranTransacao para darmos uma olhada.
G
gandja99
importjava.io.Serializable;importjava.util.Collection;importjavax.persistence.Basic;importjavax.persistence.CascadeType;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.ManyToOne;importjavax.persistence.NamedQueries;importjavax.persistence.NamedQuery;importjavax.persistence.OneToMany;importjavax.persistence.Table;@Entity@Table(name="tb_tran_transacao")@NamedQueries({@NamedQuery(name="TbTranTransacao.findAll",query="SELECT t FROM TbTranTransacao t"),@NamedQuery(name="TbTranTransacao.findByTranCdTransacao",query="SELECT t FROM TbTranTransacao t WHERE t.tranCdTransacao = :tranCdTransacao"),@NamedQuery(name="TbTranTransacao.findByTranFlIb",query="SELECT t FROM TbTranTransacao t WHERE t.tranFlIb = :tranFlIb"),@NamedQuery(name="TbTranTransacao.findByTranFlAtiva",query="SELECT t FROM TbTranTransacao t WHERE t.tranFlAtiva = :tranFlAtiva"),@NamedQuery(name="TbTranTransacao.findByTranUrlTransacao",query="SELECT t FROM TbTranTransacao t WHERE t.tranUrlTransacao = :tranUrlTransacao")})publicclassTbTranTransacaoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Basic(optional=false)@Column(name="TRAN_CD_TRANSACAO")privateIntegertranCdTransacao;@Basic(optional=false)@Column(name="TRAN_FL_IB")privatebooleantranFlIb;@Basic(optional=false)@Column(name="TRAN_FL_ATIVA")privatebooleantranFlAtiva;@Basic(optional=false)@Column(name="TRAN_URL_TRANSACAO")privateStringtranUrlTransacao;@JoinColumn(name="TRAN_CD_TIPO",referencedColumnName="TPS_CD_SERVICO")@ManyToOne(optional=false)privateTbTpsTipoServicotranCdTipo;@OneToMany(cascade=CascadeType.ALL,mappedBy="tbTranTransacao")privateCollection<TbParTranParametrosTransacoes>tbParTranParametrosTransacoesCollection;publicTbTranTransacao(){}publicTbTranTransacao(IntegertranCdTransacao){this.tranCdTransacao=tranCdTransacao;}publicTbTranTransacao(IntegertranCdTransacao,booleantranFlIb,booleantranFlAtiva,StringtranUrlTransacao){this.tranCdTransacao=tranCdTransacao;this.tranFlIb=tranFlIb;this.tranFlAtiva=tranFlAtiva;this.tranUrlTransacao=tranUrlTransacao;}publicIntegergetTranCdTransacao(){returntranCdTransacao;}publicvoidsetTranCdTransacao(IntegertranCdTransacao){this.tranCdTransacao=tranCdTransacao;}publicbooleangetTranFlIb(){returntranFlIb;}publicvoidsetTranFlIb(booleantranFlIb){this.tranFlIb=tranFlIb;}publicbooleangetTranFlAtiva(){returntranFlAtiva;}publicvoidsetTranFlAtiva(booleantranFlAtiva){this.tranFlAtiva=tranFlAtiva;}publicStringgetTranUrlTransacao(){returntranUrlTransacao;}publicvoidsetTranUrlTransacao(StringtranUrlTransacao){this.tranUrlTransacao=tranUrlTransacao;}publicTbTpsTipoServicogetTranCdTipo(){returntranCdTipo;}publicvoidsetTranCdTipo(TbTpsTipoServicotranCdTipo){this.tranCdTipo=tranCdTipo;}publicCollection<TbParTranParametrosTransacoes>getTbParTranParametrosTransacoesCollection(){returntbParTranParametrosTransacoesCollection;}publicvoidsetTbParTranParametrosTransacoesCollection(Collection<TbParTranParametrosTransacoes>tbParTranParametrosTransacoesCollection){this.tbParTranParametrosTransacoesCollection=tbParTranParametrosTransacoesCollection;}@OverridepublicinthashCode(){inthash=0;hash+=(tranCdTransacao!=null?tranCdTransacao.hashCode():0);returnhash;}@Overridepublicbooleanequals(Objectobject){// TODO: Warning - this method won't work in the case the id fields are not setif(!(objectinstanceofTbTranTransacao)){returnfalse;}TbTranTransacaoother=(TbTranTransacao)object;if((this.tranCdTransacao==null&&other.tranCdTransacao!=null)||(this.tranCdTransacao!=null&&!this.tranCdTransacao.equals(other.tranCdTransacao))){returnfalse;}returntrue;}@OverridepublicStringtoString(){return"br.com.banestes.sonda.jpa.entity.TbTranTransacao[tranCdTransacao="+tranCdTransacao+"]";}}
G
gandja99
Descobri o problema. Quando eu tentava setar o path estava passando o nome da coluna na tabela e não o nome do atributo do entity.