Query.setParameter[resolvido]

9 respostas
M

Bom Dia:
Estou lendo isto: https://blogs.oracle.com/JPQL01/entry/more_good_examples_on_easily

E estou com dúvidas !

Gostaria de sabe como ficaria na minha pesquisa esse setParameter :

na minha entidade meu campo parametro ta assim:

@Column(name="NU_CGC_CPF_T")
	private BigDecimal nuCgcCpfT;

segue minha consulta !

@Name(value = "usuarioConsultaService")
public class UsuarioConsultaServiceImpl extends AppServiceImpl<VwUsuarios> implements UsuarioConsultaService{

static final long serialVersionUID = 1L;
            


	@SuppressWarnings("unchecked")
	public List<VwUsuarios> buscarUsuarios() {
        Session session = (Session) getSession();  
        
        StringBuilder hql = new StringBuilder(); 

        try {  
        
        hql.append(" SELECT");  
        hql.append(" u.nm_pessoa_razao_social_u");  
        hql.append(" u.cd_usuario");  
        hql.append(" u.fl_tipo_pessoa_u");  
        hql.append(" FROM");  
        hql.append(" VW_USUARIOS u,");  
        hql.append(" TB_TIPO_REDE_ATENDIMENTO r,");  
        hql.append(" TB_PLANO_PAI pp,");  
        hql.append(" TB_PLANO p");  
        hql.append(" WHERE");
        hql.append(" u.nu_cgc_cpf_t = :nuCgcCpf");  
        hql.append(" AND");  
        hql.append(" u.fl_status_usuario = 2");  
        hql.append(" AND");  
        hql.append(" cd_plano = cd_plano");  
        hql.append(" AND");  
        hql.append(" p.cd_plano = u.cd_plano");  
        hql.append(" AND");  
        hql.append(" pp.cd_plano_pai = p.cd_plano_pai");  
        hql.append(" AND");  
        hql.append(" r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento");  
        hql.append(" AND");  
        hql.append(" pp.cd_tipo_rede_atendimento <> 'OD' ");  
        hql.append(" AND");  
        hql.append(" r.ds_tipo_rede_atendimento <> 'ODONTOLOGIA'");
        
        Query query  =  session.createQuery(hql.toString());

        query.setParameter("nuCgcCpf", vwusuarios.getNuCgcCpfT());
             
         // vai retornar uma lista dessa entidade    
         List<VwUsuarios> lista = (List<VwUsuarios>) query.list();
         
         return lista;

    } catch (Exception e) {  
    
     System.out.println("Erro: "+e.getMessage());
     throw new Exception("Erro ao buscar CPF " + e.getMessage());
     
   }
 }
}

segue a mensagem que o eclipse mostra:

9 Respostas

C

pq o uso de um usuário fake com foto de mulher?? é para a galera dar mais atenção ao problema?? tem um outro tópico bem parecido aqui, do junior_satanas, estava com uma foto de mulher tbm, mas agora mudou.

M

Que dizer que toda mulher de cabelos pintado do GUJ, é fake ?

Peguei esse código(CRUD), para estuda estou tentando fazer para aprender !

Se o Senhor não quer ajudar por favor não atrapalhe, meu nome e Marta Sarmento Ximenes,
Trabalho na Secretaria de Educação de Porto Alegre, estudante de Ciência da Computação…

O senho gostaria de outras informações ?

Att.

M

E o engraçado é que essa mina(SUPOSTA) está dando “up” nesse tópico… deve ser namorada do cara…hahahahhaa

M

Peguei o CRUD com o junior , e estamos estudando Seam ! Acho que por isso a dúvida !

H

Michel M:
E o engraçado é que essa mina(SUPOSTA) está dando “up” nesse tópico… deve ser namorada do cara…hahahahhaa
Né nada. É ele mesmo.

MAuahauhuha
Olha o cóidgo, é a mesma coisa! NU_CGC_CPF_T

Maahauhauah =D

M

Uai comedor de queijo ! tentei fazer seu CRUD que ta no blog, não funciona…

M

em caso de dúvida olha aqui: http://501gremistas.tumblr.com/page/9

M

Obrigada a Todos ficou assim:

@Name(value = "agendaConsultaService")
public class MarcacaoConsultaServiceImpl extends AppServiceImpl<AgendaConsulta> implements MarcacaoConsultaService {

	private static final long serialVersionUID = 1L;
	
	@SuppressWarnings("unchecked")
	public List<String> pesquisarPorParamentrosComDistinct(AgendaConsulta agendaConsulta, String propriedadeDistinct) throws Exception {
		try {
			
			Criteria criteria = createCriteria(agendaConsulta, MatchMode.ANYWHERE);
			criteria.setProjection( Projections.distinct( Projections.property( propriedadeDistinct ) ) );
			
			return criteria.list();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return null;
	}
	
	
	@SuppressWarnings("unchecked")
	public List<Uf> buscarUf() throws Exception{
		
		try {
			Session session = getSession();
			StringBuilder hql = new StringBuilder();
			hql.append(" select uf from Uf uf");
			
			Query query=  session.createQuery(hql.toString());
			
			return query.list();
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar ufs: " + e.getMessage());
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<Filial> buscarFiliais(Uf uf) throws Exception{
		
		try {
			Session session = getSession();
			StringBuilder hql = new StringBuilder();
			hql.append(" select distinct f from Filial f, EnderecoPessoa ep, Uf uf, Pessoa p " +
					   " where  p.codigoPessoa = ep.pessoa.codigoPessoa" +
					   " and ep.uf.codigo = uf.codigo " +
					   " and f.pessoa.codigoPessoa = p.codigoPessoa" +
					   " and uf.codigo = :codigoUf");
			
			Query query=  session.createQuery(hql.toString());
			query.setParameter("codigoUf", uf.getCodigo());
			
			return query.list();
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar filiais: " + e.getMessage());
		}
	}
	
	@SuppressWarnings("unchecked")
	public List<PrestadorJuridico> buscarPrestadoresJuridicos(Filial filial) throws Exception{
		
		try {
			Session session = getSession();
			StringBuilder hql = new StringBuilder();
			
			hql.append(" select distinct pj from PrestadorJuridico pj, EnderecoPessoa ep , Pessoa p " +
					   " where pj.pessoa.codigoPessoa = p.codigoPessoa "+
					   " and ep.pessoa.codigoPessoa = pj.pessoa.codigoPessoa " +
					   " and pj.filial.codigo = :codigoFilial ");
			
			Query query=  session.createQuery(hql.toString());
			query.setParameter("codigoFilial", filial.getCodigo());
			query.setMaxResults(50);
			
			return query.list();
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar prestadores juridicos: " + e.getMessage());
		}
	}
	
	
	@SuppressWarnings("unchecked")
	public List<Especialidade> buscarEspecialidades(PrestadorJuridico prestadorJuridico) throws Exception{
		
		
		try {
			Session session = getSession();
			StringBuilder hql = new StringBuilder();
			hql.append(" select distinct e from Especialidade e, HorarioMedico hm " +
					   " where hm.especialidade.codigo = e.codigo" +
					   " and hm.prestadorJuridico.pessoa.codigoPessoa = :codigoPrestador order by e.descricao");
			
			Query query=  session.createQuery(hql.toString());
			query.setParameter("codigoPrestador", prestadorJuridico.getPessoa().getCodigoPessoa());
			
			return query.list();
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar especialidades: " + e.getMessage());
		}
				
	}

	@SuppressWarnings("unchecked")
	public List<PrestadorFisico> buscarMedicos(PrestadorJuridico prestadorJuridico, Especialidade especialidade) throws Exception{
		
		
		try {
			Session session = getSession();
			StringBuilder hql = new StringBuilder();
			hql.append(" select distinct pf from Especialidade e, PrestadorFisico pf, HorarioMedico hm  " +
					   " where hm.prestadorJuridico.pessoa.codigoPessoa = :codigoPrestador " +
					   " and hm.especialidade.codigo = :codigoEspecialidade");
			
			Query query=  session.createQuery(hql.toString());
			query.setParameter("codigoPrestador", prestadorJuridico.getPessoa().getCodigoPessoa());
			query.setParameter("codigoEspecialidade", especialidade.getCodigo());
						
			return query.list();
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar medicos: " + e.getMessage());
		}
		
	}
	
	
	@SuppressWarnings("unchecked")
	public List<ResultadoConsulta> buscarAgendaPorUf() throws Exception{
		
		List<ResultadoConsulta> lista = new ArrayList<ResultadoConsulta>();
		try {
			Session session = getSession();
			StringBuilder sql = new StringBuilder();
			
			sql.append("select " +					
				" cd_uf, " 
				+ getSqlComun() +								
				" and dt_consulta between sysdate and sysdate + 7 " +
				" group by cd_uf " );
			
			
						
			Query query = session.createSQLQuery(sql.toString());
			query.setResultTransformer(Transformers.aliasToBean(ResultadoConsulta.class));
			lista = query.list();
			
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar medicos: " + e.getMessage());
		}
		
		return lista;
	}
	

	
	@SuppressWarnings("unchecked")
	public List<ResultadoConsulta> buscarAgendaPorFilial(ResultadoConsulta resultadoConsulta) throws Exception{
		
		List<ResultadoConsulta> lista = new ArrayList<ResultadoConsulta>();
		try {
			Session session = getSession();
			StringBuilder sql = new StringBuilder();
			
			sql.append(" select ");
			sql.append(" cd_uf, ");
		    sql.append(" cd_filial,  ");
		    sql.append(" nm_filial,  "); 	    			    
		    sql.append(" " + getSqlComun() + " ");	
		    
		    if(resultadoConsulta.getCD_UF() != null)
		    	sql.append(" and cd_uf = '" + resultadoConsulta.getCD_UF() + "'  ");
			
			sql.append(" and dt_consulta between sysdate and sysdate + 7  ");
			sql.append(" group by cd_uf, cd_filial, nm_filial" );
		
			
						
			Query query = session.createSQLQuery(sql.toString());
			query.setResultTransformer(Transformers.aliasToBean(ResultadoConsulta.class));
			lista = query.list();
			
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar medicos: " + e.getMessage());
		}
		
		return lista;
	}
	
	@SuppressWarnings("unchecked")
	public List<ResultadoConsulta> buscarAgendaPorLocalidade(ResultadoConsulta resultadoConsulta) throws Exception{
		
		List<ResultadoConsulta> lista = new ArrayList<ResultadoConsulta>();
		try {
			Session session = getSession();
			StringBuilder sql = new StringBuilder();
			
			sql.append(" select  " );
			sql.append(" cd_uf,  " );
			sql.append(" cd_filial,  " );
		    sql.append(" nm_filial,  " );
		    sql.append(" cd_prestador_juridico,  " );
		    sql.append(" nm_prestador_juridico,  " );		    			    
		    sql.append(" " + getSqlComun() + " ");		
			 
			if( resultadoConsulta.getCD_FILIAL() != null)
				sql.append(" and cd_filial = " + resultadoConsulta.getCD_FILIAL()  + " " );
				
			sql.append(" and dt_consulta between sysdate and sysdate + 7  " );
			sql.append(" group by cd_uf, cd_filial, nm_filial, cd_prestador_juridico, nm_prestador_juridico " );
		
			
						
			Query query = session.createSQLQuery(sql.toString());
			query.setResultTransformer(Transformers.aliasToBean(ResultadoConsulta.class));
			lista = query.list();
			
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar medicos: " + e.getMessage());
		}
		
		return lista;
	}

	@SuppressWarnings("unchecked")
	public List<ResultadoConsulta> buscarAgendaPorEspecialidade(ResultadoConsulta resultadoConsulta) throws Exception{
		
		List<ResultadoConsulta> lista = new ArrayList<ResultadoConsulta>();
		try {
			Session session = getSession();
			StringBuilder sql = new StringBuilder();
			
			sql.append(" select " );
			sql.append("  cd_uf,  " );
		    sql.append("  cd_filial,  " );
		    sql.append("  nm_filial,  " );
		    sql.append("  cd_prestador_juridico,  " );
		    sql.append("  nm_prestador_juridico,  " );
		    sql.append("  cd_especialidade,  " );
		    sql.append("  nm_especialidade,  " ); 				    
		    sql.append(" " + getSqlComun() + " ");		
		    
			if(resultadoConsulta.getCD_PRESTADOR_JURIDICO() != null)
				sql.append("  and cd_prestador_juridico = " + resultadoConsulta.getCD_PRESTADOR_JURIDICO()  +"" );
			
			sql.append("  and dt_consulta between sysdate and sysdate + 7  " );
			sql.append("  group by cd_uf, cd_filial, nm_filial, cd_prestador_juridico, nm_prestador_juridico, cd_especialidade, nm_especialidade " );
		
			
						
			Query query = session.createSQLQuery(sql.toString());
			query.setResultTransformer(Transformers.aliasToBean(ResultadoConsulta.class));
			lista = query.list();
			
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar medicos: " + e.getMessage());
		}
		
		return lista;
	}
	
	
	
	@SuppressWarnings("unchecked")
	public List<ResultadoConsulta> buscarAgendaPorMedico(ResultadoConsulta resultadoConsulta) throws Exception{
		
		List<ResultadoConsulta> lista = new ArrayList<ResultadoConsulta>();
		try {
			Session session = getSession();
			StringBuilder sql = new StringBuilder();
			
			
			sql.append(" select " );
				sql.append("  cd_uf," );
			    sql.append("  cd_filial," );
			    sql.append("  nm_filial, " );
			    sql.append("  cd_prestador_juridico, " );
			    sql.append("  nm_prestador_juridico, " );
			    sql.append("  cd_especialidade, " );
			    sql.append("  nm_especialidade, " );
			    sql.append("  cd_prestador_fisico, " );			    
			    sql.append("  nm_prestador_fisico, " ); 
			    
			    sql.append(" " + getSqlComun() + " ");		
			    
			    if( resultadoConsulta.getCD_ESPECIALIDADE() != null)
			    	sql.append("  and cd_especialidade = " + resultadoConsulta.getCD_ESPECIALIDADE() +" ");
			    
			    sql.append("  and dt_consulta between sysdate and sysdate + 7 " );
				sql.append("  group by cd_uf, cd_filial, nm_filial, cd_prestador_juridico, nm_prestador_juridico, " );
				sql.append(" cd_especialidade, nm_especialidade, cd_prestador_fisico, nm_prestador_fisico " );

			
						
			Query query = session.createSQLQuery(sql.toString());
			query.setResultTransformer(Transformers.aliasToBean(ResultadoConsulta.class));
			lista = query.list();
			
		} catch (Exception e) {
			throw new Exception("Erro ao buscar medicos: " + e.getMessage());
		}
		return lista;
	}
	
	public String getSqlComun(){
		
		
		StringBuilder sql = new StringBuilder();
		
		sql.append(" min(dt_disponib_agenda) dt_min_disponib_agenda, " +
	    " max(dt_disponib_agenda) dt_max_disponib_agenda, " +
	    " min(dt_marcacao_consulta) dt_min_marcacao_consulta, " +
	    " max(dt_marcacao_consulta) dt_max_marcacao_consulta, " +
	    " sum(decode(dt_marcacao_consulta,null,1,0)) qtd_consultas_abertas, " +
	    " sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1))  qtd_consultas_efetivadas, " +
	    " ( sum(decode(dt_marcacao_consulta,null,1,0)) + " +
	      " sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) " +
	    " ) qtd_consultas, " +
	    " sum(nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)                  velocidade_dias, " +
	    " sum((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)/24)             velocidade_horas, " +
	    " sum((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)/1440)           velocidade_minutos " +
	    " , " +
	    " case " +
	      " when sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) <> 0 then " +
	          " ( sum(nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda) / " +
	            " sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) " +
	           " ) " +
	    " else " +
	      " 0      " + 
	    " end media_velocid_dias_consulta, " +
	    " case " +
	      " when sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) <> 0 then " +
	          " ( sum((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda)/24) / " +
	            " sum(decode((nvl(dt_marcacao_consulta,dt_disponib_agenda) - dt_disponib_agenda),0,0,1)) " +
	          " ) " +
	     " else     " +
	       " 0 " +
			    " end media_velocid_horas_consulta " +
		" from tb_agenda_consulta " +
		" where (fl_ex_pf = 0 and fl_ex_pj = 0 and fl_ex_fil = 0 and fl_ex_tot = 0) " +
		    " and cd_uf is not null " );

		
		return sql.toString();
	}

}
R

Que interessante…

Você estava com dúvida em uma query em HQL que está em um método em uma classe.

Porém na sua solução postou outra classe, que não possui o método da dúvida.

Criado 27 de julho de 2012
Ultima resposta 27 de jul. de 2012
Respostas 9
Participantes 5