Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all articles
Browse latest Browse all 759

Query dinâmica Hibernate retornando QueryException

$
0
0

@Gabrielfp escreveu:

Bom, estou enfrentando um problema com uma namedQuery que fiz, toda vez que faço uma pesquisa no campo de texto retorna QueryException.

A Stacktrace completa:

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
	at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.event.Event.fireEvent(Event.java:198)
	at javafx.scene.Scene$KeyHandler.process(Scene.java:3964)
	at javafx.scene.Scene$KeyHandler.access$1800(Scene.java:3910)
	at javafx.scene.Scene.impl_processKeyEvent(Scene.java:2040)
	at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2501)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:217)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:149)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$353(GlassViewEventHandler.java:248)
	at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:247)
	at com.sun.glass.ui.View.handleKeyEvent(View.java:546)
	at com.sun.glass.ui.View.notifyKey(View.java:966)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
	at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
	at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
	... 31 more
Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not instantiate class [com.devgbr.model.entity.Paciente] from tuple
	at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1750)
	at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
	at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:458)
	at com.devgbr.model.dao.PacienteDAO.getByName(PacienteDAO.java:48)
	at com.devgbr.controller.Frm4PacientesController.handlePesquisar(Frm4PacientesController.java:170)
	... 41 more
Caused by: org.hibernate.QueryException: could not instantiate class [com.devgbr.model.entity.Paciente] from tuple
	at org.hibernate.transform.AliasToBeanConstructorResultTransformer.transformTuple(AliasToBeanConstructorResultTransformer.java:58)
	at org.hibernate.hql.internal.HolderInstantiator.instantiate(HolderInstantiator.java:95)
	at org.hibernate.loader.hql.QueryLoader.getResultList(QueryLoader.java:464)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367)
	at org.hibernate.loader.Loader.list(Loader.java:2362)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260)
	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
	at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:573)
	at org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:449)
	... 43 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.hibernate.transform.AliasToBeanConstructorResultTransformer.transformTuple(AliasToBeanConstructorResultTransformer.java:55)
	... 54 more
Caused by: java.lang.NullPointerException
	at com.devgbr.model.entity.Paciente.<init>(Paciente.java:179)
	... 59 more

Minha classe:

package com.devgbr.model.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Lob;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author GbrDEV
 */
@Entity
@Table(name = "tbpaciente")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Paciente.findAll", query = "SELECT p FROM Paciente p")
    , @NamedQuery(name = "Paciente.findById", query = "SELECT p FROM Paciente p WHERE p.id = :id")
    , @NamedQuery(name = "Paciente.findByNomecivil", query = "SELECT p FROM Paciente p WHERE p.nomecivil = :nomecivil")
    , @NamedQuery(name = "Paciente.findByNome", query = "SELECT new com.devgbr.model.entity.Paciente(p.id, p.cns, p.nomecivil, p.nomesocial, p.sexo, p.raca, p.datanasc, p.cpf, p.rg, p.orgemissor, p.email, p.telefone, p.celular, p.mae, p.pai, c.nome, pl.nome, p.matricula, p.validade, p.indeterminado, a.nome, p.observacoes) "
            + "FROM "
            + "Paciente p "
            + "LEFT OUTER JOIN p.convenio c "
            + "LEFT OUTER JOIN p.plano pl "
            + "LEFT OUTER JOIN p.acomodacao a "
            + "WHERE p.nomecivil LIKE :paciente")
    , @NamedQuery(name = "Paciente.findByNomesocial", query = "SELECT p FROM Paciente p WHERE p.nomesocial = :nomesocial")
    , @NamedQuery(name = "Paciente.findByCns", query = "SELECT p FROM Paciente p WHERE p.cns = :cns")
    , @NamedQuery(name = "Paciente.findBySexo", query = "SELECT p FROM Paciente p WHERE p.sexo = :sexo")
    , @NamedQuery(name = "Paciente.findByRaca", query = "SELECT p FROM Paciente p WHERE p.raca = :raca")
    , @NamedQuery(name = "Paciente.findByDatanasc", query = "SELECT p FROM Paciente p WHERE p.datanasc = :datanasc")
    , @NamedQuery(name = "Paciente.findByCpf", query = "SELECT p FROM Paciente p WHERE p.cpf = :cpf")
    , @NamedQuery(name = "Paciente.findByRg", query = "SELECT p FROM Paciente p WHERE p.rg = :rg")
    , @NamedQuery(name = "Paciente.findByOrgemissor", query = "SELECT p FROM Paciente p WHERE p.orgemissor = :orgemissor")
    , @NamedQuery(name = "Paciente.findByEmail", query = "SELECT p FROM Paciente p WHERE p.email = :email")
    , @NamedQuery(name = "Paciente.findByTelefone", query = "SELECT p FROM Paciente p WHERE p.telefone = :telefone")
    , @NamedQuery(name = "Paciente.findByCelular", query = "SELECT p FROM Paciente p WHERE p.celular = :celular")
    , @NamedQuery(name = "Paciente.findByMae", query = "SELECT p FROM Paciente p WHERE p.mae = :mae")
    , @NamedQuery(name = "Paciente.findByPai", query = "SELECT p FROM Paciente p WHERE p.pai = :pai")
    , @NamedQuery(name = "Paciente.findByMatricula", query = "SELECT p FROM Paciente p WHERE p.matricula = :matricula")
    , @NamedQuery(name = "Paciente.findByValidade", query = "SELECT p FROM Paciente p WHERE p.validade = :validade")
    , @NamedQuery(name = "Paciente.findByIndeterminado", query = "SELECT p FROM Paciente p WHERE p.indeterminado = :indeterminado")})
public class Paciente implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Basic(optional = false)
    @Column(name = "nomecivil")
    private String nomecivil;
    @Column(name = "nomesocial")
    private String nomesocial;
    @Column(name = "cns")
    private String cns;
    @Column(name = "sexo")
    private String sexo;
    @Column(name = "raca")
    private String raca;
    @Column(name = "datanasc")
    @Temporal(TemporalType.DATE)
    private Date datanasc;
    @Basic(optional = false)
    @Column(name = "cpf")
    private String cpf;
    @Column(name = "rg")
    private String rg;
    @Column(name = "orgemissor")
    private String orgemissor;
    @Column(name = "email")
    private String email;
    @Column(name = "telefone")
    private String telefone;
    @Column(name = "celular")
    private String celular;
    @Basic(optional = false)
    @Column(name = "mae")
    private String mae;
    @Column(name = "pai")
    private String pai;
    @Column(name = "matricula")
    private String matricula;
    @Column(name = "validade")
    @Temporal(TemporalType.DATE)
    private Date validade;
    @Column(name = "indeterminado")
    private Boolean indeterminado;
    @Lob
    @Column(name = "observacoes")
    private String observacoes;
    @JoinTable(name = "paciresp", joinColumns = {
        @JoinColumn(name = "paciente", referencedColumnName = "id")}, inverseJoinColumns = {
        @JoinColumn(name = "responsavel", referencedColumnName = "id")})
    @ManyToMany(fetch = FetchType.LAZY)
    private List<Responsavel> responsavelList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "paciente", fetch = FetchType.LAZY)
    private List<Atendimento> atendimentoList;
    @JoinColumn(name = "acomodacao", referencedColumnName = "id")
    @ManyToOne(fetch = FetchType.LAZY)
    private Acomodacao acomodacao;
    @JoinColumn(name = "convenio", referencedColumnName = "id")
    @ManyToOne(fetch = FetchType.LAZY)
    private Convenio convenio;
    @JoinColumn(name = "plano", referencedColumnName = "id")
    @ManyToOne(fetch = FetchType.LAZY)
    private Plano plano;

    public Paciente() {
    }

    public Paciente(Integer id, String cns, String nomecivil, String nomesocial, String sexo, String raca, Date datanasc, String cpf, String rg, String orgemissor, String email, String telefone, String celular, String mae, String pai, Convenio convenio, Plano plano, String matricula, Date validade, Boolean indeterminado, Acomodacao acomodacao, String observacoes) {
        this.id = id;
        this.nomecivil = nomecivil;
        this.nomesocial = nomesocial;
        this.cns = cns;
        this.sexo = sexo;
        this.raca = raca;
        this.datanasc = datanasc;
        this.cpf = cpf;
        this.rg = rg;
        this.orgemissor = orgemissor;
        this.email = email;
        this.telefone = telefone;
        this.celular = celular;
        this.mae = mae;
        this.pai = pai;
        this.convenio = convenio;
        this.plano = plano;
        this.matricula = matricula;
        this.validade = validade;
        this.indeterminado = indeterminado;
        this.acomodacao = acomodacao;
        this.observacoes = observacoes;
    }

    public Paciente(Integer id, String cns, String nomecivil, String nomesocial, String sexo, String raca, Date datanasc, String cpf, String rg, String orgemissor, String email, String telefone, String celular, String mae, String pai, String convenio, String plano, String matricula, Date validade, Boolean indeterminado, String acomodacao, String observacoes) {
        this.id = id;
        this.nomecivil = nomecivil;
        this.nomesocial = nomesocial;
        this.cns = cns;
        this.sexo = sexo;
        this.raca = raca;
        this.datanasc = datanasc;
        this.cpf = cpf;
        this.rg = rg;
        this.orgemissor = orgemissor;
        this.email = email;
        this.telefone = telefone;
        this.celular = celular;
        this.mae = mae;
        this.pai = pai;
        if (convenio != null) {
            this.convenio.setNome(convenio);
        }
        if (plano != null) {
            this.plano.setNome(plano);
        }
        this.matricula = matricula;
        this.validade = validade;
        this.indeterminado = indeterminado;
        if (acomodacao != null) {
            this.acomodacao.setNome(acomodacao);
        }
        this.observacoes = observacoes;
    }

    public Paciente(Integer id) {
        this.id = id;
    }

    public Paciente(Integer id, String nomecivil, String cpf, String mae) {
        this.id = id;
        this.nomecivil = nomecivil;
        this.cpf = cpf;
        this.mae = mae;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNomecivil() {
        return nomecivil;
    }

    public void setNomecivil(String nomecivil) {
        this.nomecivil = nomecivil;
    }

    public String getNomesocial() {
        return nomesocial;
    }

    public void setNomesocial(String nomesocial) {
        this.nomesocial = nomesocial;
    }

    public String getCns() {
        return cns;
    }

    public void setCns(String cns) {
        this.cns = cns;
    }

    public String getSexo() {
        return sexo;
    }

    public void setSexo(String sexo) {
        this.sexo = sexo;
    }

    public String getRaca() {
        return raca;
    }

    public void setRaca(String raca) {
        this.raca = raca;
    }

    public Date getDatanasc() {
        return datanasc;
    }

    public void setDatanasc(Date datanasc) {
        this.datanasc = datanasc;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public String getOrgemissor() {
        return orgemissor;
    }

    public void setOrgemissor(String orgemissor) {
        this.orgemissor = orgemissor;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    public String getCelular() {
        return celular;
    }

    public void setCelular(String celular) {
        this.celular = celular;
    }

    public String getMae() {
        return mae;
    }

    public void setMae(String mae) {
        this.mae = mae;
    }

    public String getPai() {
        return pai;
    }

    public void setPai(String pai) {
        this.pai = pai;
    }

    public String getMatricula() {
        return matricula;
    }

    public void setMatricula(String matricula) {
        this.matricula = matricula;
    }

    public Date getValidade() {
        return validade;
    }

    public void setValidade(Date validade) {
        this.validade = validade;
    }

    public Boolean getIndeterminado() {
        return indeterminado;
    }

    public void setIndeterminado(Boolean indeterminado) {
        this.indeterminado = indeterminado;
    }

    public String getObservacoes() {
        return observacoes;
    }

    public void setObservacoes(String observacoes) {
        this.observacoes = observacoes;
    }

    @XmlTransient
    public List<Responsavel> getResponsavelList() {
        return responsavelList;
    }

    public void setResponsavelList(List<Responsavel> responsavelList) {
        this.responsavelList = responsavelList;
    }

    @XmlTransient
    public List<Atendimento> getAtendimentoList() {
        return atendimentoList;
    }

    public void setAtendimentoList(List<Atendimento> atendimentoList) {
        this.atendimentoList = atendimentoList;
    }

    public Acomodacao getAcomodacao() {
        return acomodacao;
    }

    public void setAcomodacao(Acomodacao acomodacao) {
        this.acomodacao = acomodacao;
    }

    public Convenio getConvenio() {
        return convenio;
    }

    public void setConvenio(Convenio convenio) {
        this.convenio = convenio;
    }

    public Plano getPlano() {
        return plano;
    }

    public void setPlano(Plano plano) {
        this.plano = plano;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Paciente)) {
            return false;
        }
        Paciente other = (Paciente) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.devgbr.model.entity.Paciente[ id=" + id + " ]";
    }

}

Meu método de pesquisa:

public List<Paciente> getByName(String nome) {
        List<Paciente> paciente = em.createNamedQuery("Paciente.findByNome", Paciente.class)
                .setParameter("paciente", "%" + nome + "%")
                .getResultList();
        return paciente;
    }

Qualquer informação a mais que seja necessária é só falar.
Obrigado pela atenção!

Mensagens: 13

Participantes: 5

Ler tópico completo


Viewing all articles
Browse latest Browse all 759

Trending Articles


Vimeo 10.7.1 by Vimeo.com, Inc.


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


EASY COME, EASY GO


Love with Heart Breaking Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Letting Go Quotes


Love Song lyrics that marks your Heart


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Long Distance Relationship Tagalog Love Quotes



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>