1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Select usando createNativeQuery error

Quero fazer um select esses campos nao estao no banco de dados nomUsrInc, nomeCli, statusNome quero trazer para uma lista mais esta dando esse error como fazer pra setar neles e tbem nao quero que cria no banco de dados nomUsrInc, nomeCli, statusNome.

package model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import util.Negocio;
import dao.CiCadSolDao;

@Entity
@Table(name="ci_cadSol")
@SuppressWarnings({"serial", "unused"})
public class CiCadSol implements Serializable{

    @Id  
    @Column(name = "ci_sol_codsol")
    private int ciSolCodSol;
    @Column(name = "ci_sol_tipoatend")
    private String ciSolTipoAtend;
    @Column(name = "ci_sol_codcli")
    private Integer ciSolCodCli;
    @Column(name = "ci_sol_nome")
    private String ciSolNome;
    @Column(name = "ci_sol_fone")
    private String ciSolFone;
    @Column(name = "ci_sol_email")
    private String ciSolEmail;
    @Column(name = "ci_sol_datinc")
    @Temporal(TemporalType.TIMESTAMP)
    private Date ciSolDatInc;
    @Column(name = "ci_sol_dathor_ret")
    private String ciSolDathorRet;
    @Column(name = "ci_sol_descri_nova")
    private Long ciSolDescriNova;
    @Column(name = "ci_sol_status")
    private int ciSolStatus;

    private String nomUsrInc;
    private String nomeCli;
    private String statusNome;

    public int getCiSolCodSol() {
        return ciSolCodSol = new CiCadSolDao().findMaxProcesso();
    }
    public void setCiSolCodSol(int ciSolCodSol) {
        this.ciSolCodSol = ciSolCodSol;
    }
    public String getCiSolTipoAtend() {
        return ciSolTipoAtend;
    }
    public void setCiSolTipoAtend(String ciSolTipoAtend) {
        this.ciSolTipoAtend = ciSolTipoAtend;
    }
    public Integer getCiSolCodCli() {
        return ciSolCodCli;
    }
    public void setCiSolCodCli(Integer ciSolCodCli) {
        this.ciSolCodCli = ciSolCodCli;
    }
    public String getCiSolNome() {
        return ciSolNome;
    }
    public void setCiSolNome(String ciSolNome) {
        this.ciSolNome = ciSolNome;
    }

    public String getCiSolFone() {
        return ciSolFone;
    }
    public void setCiSolFone(String ciSolFone) {
        this.ciSolFone = ciSolFone;
    }
    public String getCiSolEmail() {
        return ciSolEmail;
    }
    public void setCiSolEmail(String ciSolEmail) {
        this.ciSolEmail = ciSolEmail;
    }
    public Date getCiSolDatInc() {
        return ciSolDatInc = Negocio.getDateTime();
    }
    public void setCiSolDatInc(Date ciSolDatInc) {
        this.ciSolDatInc = ciSolDatInc;
    }
    public String getCiSolDathorRet() {
        return ciSolDathorRet;
    }
    public void setCiSolDathorRet(String ciSolDathorRet) {
        this.ciSolDathorRet = ciSolDathorRet;
    }
    public Long getCiSolDescriNova() {
        return ciSolDescriNova;
    }
    public void setCiSolDescriNova(Long ciSolDescriNova) {
        this.ciSolDescriNova = ciSolDescriNova;
    }
    public int getCiSolStatus() {
        return ciSolStatus;
    }
    public void setCiSolStatus(int ciSolStatus) {
        this.ciSolStatus = ciSolStatus;
    }
    public String getNomUsrInc() {
        return nomUsrInc;
    }
    public void setNomUsrInc(String nomUsrInc) {
        this.nomUsrInc = nomUsrInc;
    }
    public String getNomeCli() {
        return nomeCli;
    }
    public void setNomeCli(String nomeCli) {
        this.nomeCli = nomeCli;
    }
    public String getStatusNome() {
        return statusNome;
    }
    public void setStatusNome(String statusNome) {
        this.statusNome = statusNome;
    }
}
 SELECT
        ci_sol_codsol,
        ci_sol_codemp,
        ci_sol_tipoatend,
        ci_sol_usrinc,
        (SELECT
            MAX(nomusr) 
        FROM
            CaDUsr 
        WHERE
            codusr=ci_sol_usrinc) AS nomUsrInc,
        ci_sol_codcli,
        (SELECT
            MAX(crazao) 
        FROM
            CadCli 
        WHERE
            ccodcli=ci_sol_codcli) AS nomeCli,
        ci_sol_nome,
        ci_sol_datinc,
        ci_sol_descri_nova,
        ci_sol_status,
        CASE 
            WHEN ci_sol_status=0 THEN 'Pendente'  
            WHEN ci_sol_status=1 then 'Andamento' 
            WHEN ci_sol_status=2 then 'Concluido' 
            else 'Nao Identificado' 
        END as statusNome  
    FROM
        CI_CADSOL
public List<CiCadSol> findAll(){
        EntityManager em = getEMF().createEntityManager();
        List<CiCadSol> listCiCadSol = new ArrayList<CiCadSol>();
        try {
            String sqlQuery = "SELECT ci_sol_codsol, ci_sol_codemp, ci_sol_tipoatend, ci_sol_usrinc," +
                    " (SELECT MAX(nomusr) FROM CaDUsr WHERE codusr=ci_sol_usrinc) AS nomUsrInc," +
                    "ci_sol_codcli, (SELECT MAX(crazao) FROM CadCli WHERE ccodcli=ci_sol_codcli) AS nomeCli," +
                    "ci_sol_nome,ci_sol_datinc, ci_sol_descri_nova, ci_sol_status," +
                    "CASE WHEN ci_sol_status=0 THEN 'Pendente'  WHEN ci_sol_status=1 then 'Andamento' WHEN ci_sol_status=2 " +
                    "then 'Concluido' else 'Nao Identificado' END as statusNome  FROM CI_CADSOL";
            Query query = em.createNativeQuery(sqlQuery, CiCadSol.class);
            listCiCadSol = query.getResultList();
        }  catch (Exception ex) {
            listCiCadSol = null;
            ex.getMessage();
        } finally {
            em.close();
        }
        return listCiCadSol;
    }
ERROR: Nome de coluna inválido
Exception in thread "main" java.lang.NullPointerException
    at teste.TesteCiCadSol.main(TesteCiCadSol.java:45)
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags primefaces java jpa hibernate ou faça a sua própria pergunta.