Estrutra de uma hql?

0 respostas
juniorsatanas

Boa Tarde !

Grande parte dos sistemas que trabalho é legado, e é oracle, geralmente faço tudo no PLSQL oracle.
Quando não uso uma critéria…

Estou lendo alguns tutoriais para melhorar o desempenho das minhas pesquisa, mas a minha dúvida e sobre ESTRUTURA.

IMAGINA SENÁRIO. <<<---- aqui é Cenário ! obrigado jakefrog

uma procedure que eu levo para dentro do meus sistema, tirando do oracle !

cursor filtroCpf is                  
                  --colocada para tirar tipo de atendimento odontologia
                  select u.nm_pessoa_razao_social_u
                        ,u.cd_usuario
                        ,u.fl_tipo_pessoa_u 
                  from vw_usuarios u
                  ,tb_tipo_rede_atendimento r
                  ,tb_plano_pai pp
                  ,tb_plano p
                  where 
                  u.nu_cgc_cpf_t = to_number(pNu_Cpf)
                  and u.fl_status_usuario = 2
                  and p.cd_plano = u.cd_plano
                  and pp.cd_plano_pai = p.cd_plano_pai
                  and r.cd_tipo_rede_atendimento = pp.cd_tipo_rede_atendimento
                  and pp.cd_tipo_rede_atendimento &lt;&gt; 'OD'
                  and r.ds_tipo_rede_atendimento &lt;&gt; 'ODONTOLOGIA';

1 - coisa que eu fiz, mapeamento de todas as tabelas e da view !

2- No meu RepositorioBeans fiz isso:

//observe que aqui eu coloco o nome da view e nao o nome da tabela usuario.. isso ta certo ?
public List ValidaUsuariosCpf(VwUsuarios vwusuarios)throws Exception{ 
		try {
			Session session = (Session) getSession();
			StringBuilder hql = new StringBuilder();
			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 &lt;&gt; 'OD' ");
			hql.append(" AND");
			hql.append(" r.ds_tipo_rede_atendimento &lt;&gt; 'ODONTOLOGIA");
			Query query=  (Query) session.createQueue(hql.toString());
			query.setParameter("nuCgcCpf", vwusuarios.getNuCgcCpf());
			return null;
		
		} catch (Exception e) {
			throw new Exception("Erro ao buscar CPF " + e.getMessage());
		}
	}

O que ocorre agora e que tenho que fazer algo tipo, isso me deixou confuso…
Alguém poderia da uma resposta ?
POR QUE PRECISA DISTO ? DENTRO DO MAPEAMENTO DA VIEW ?

public VwUsuarios getValidaUsuarios(String nuCgcCpf) {
		return this.getValidaUsuarios(nuCgcCpf);
	}
Criado 4 de julho de 2012
Respostas 0
Participantes 1