HQL duvida simples :D

1 resposta
C

Galera, to fazendo uma pesquisa em hql com joins, ele retorna os campos que quero e mais alguns que não solicitei…

por que o HQL faz isso?
a minha consulta é:

public List<Object[]> pesquisaBloqueto(){
		StringBuilder hql = new StringBuilder
			("select  "). 
		append(" b.id ").
		append(", b.nossoNumero ").
		append(", nf.id " ).
		append(", nf.dataEmissao ").
		append(", nf.cliente ").
		append(", c.razaoSocial ").
		append(", c.cpf ").
		append(", c.cnpj " ).
		append(", crl.valor ").
		append(", nf.numero ").
		append(", crl.dataVencimento ").
		append(", l.endereco ").
		append(", l.numero ").
		append(", ba.nomeSemAcento ").
		append(", l.descricaoBairro ").
		append(", cep.cep").
			append( " from br.com.topsafe.model.financeiro.Bloqueto b ").
		append(" left join b.contaReceberLancamento crl ").
		append(" left join crl.contaReceber  cr ").	
		append(" left join cr.notaFiscal nf ").
		append( " left join nf.cliente c " ).
		append("  join c.locais l").
		append("  join l.bairro ba").
		append("  join ba.cepLocalidade cep ").
			append(" where nf.cliente = c.id ").
		append(" and nf.numero is not null ").
		append(" and nf.id = cr.notaFiscal ").
		append(" and cr.id = crl.contaReceber ").
		append(" and nf.anulada = 0  " ).
		append(" and b.contaReceberEquipamentoLancamento is null  " ).
		append(" and b.dataArquivo is null ").
		append(" and b.nossoNumero is not null ").
		append(" and cep.cep is not null").
		append(" and b.contaReceberLancamento = crl.id  ").
		append(" and l.id = ba.id ").
		append(" and ba.cepLocalidade = cep.id ");
		

	Query query = getSession().createQuery(hql.toString());
	
		return query.list();
		}

como podem ver é uma pesquisa bem simples mas qual o motivo dele fazer uma consulta assim:

select 	bloqueto0_.CODBLOQUETO as col_0_0_, 
		bloqueto0_.NOSSO_NUMERO as col_1_0_, 
		notafiscal3_.CODNOTA_FISCAL_EQUIPAMENTO as col_2_0_, 
		notafiscal3_.DATA_EMISSAO as col_3_0_, 
		notafiscal3_.CODCLIENTE as col_4_0_, 
		cliente4_.RAZAO_SOCIAL as col_5_0_, 
		cliente4_.CPF as col_6_0_, 
		cliente4_.CNPJ as col_7_0_, 
		contareceb1_.VALOR as col_8_0_, 
		notafiscal3_.NUMERO as col_9_0_, 
		contareceb1_.DATA_VENCIMENTO as col_10_0_, 
		locais5_.ENDERECO as col_11_0_, 
		locais5_.NUMERO as col_12_0_, 
		cepbairro6_.NOME_SEM_ACENTO as col_13_0_, 
		locais5_.DESCRICAO_BAIRRO as col_14_0_, 
		ceplocalid7_.CEP as col_15_0_, cliente4_.
		CODCLIENTE as CODCLIENTE7_, 
		cliente4_.EMAIL as EMAIL7_, 
		cliente4_.AGENCIA as AGENCIA7_, 
		cliente4_.CNPJ as CNPJ7_, 
		cliente4_.CONTA_CORRENTE as CONTA5_7_, 
		cliente4_.CPF as CPF7_, 
		cliente4_.DATA_ATUALIZACAO as DATA7_7_, 
		cliente4_.DATA_CADASTRO as DATA8_7_, 
		cliente4_.DEDUZIR_COFINS as DEDUZIR9_7_, 
		cliente4_.DEDUZIR_CSLL as DEDUZIR10_7_, 
		cliente4_.DEDUZIR_IRRF as DEDUZIR11_7_, 
		cliente4_.DEDUZIR_INSS as DEDUZIR12_7_, 
		cliente4_.DEDUZIR_ISSQN_MUNICIPIO as DEDUZIR13_7_, 
		cliente4_.DEDUZIR_PIS as DEDUZIR14_7_, 
		cliente4_.DIGITO_AGENCIA as DIGITO15_7_, 
		cliente4_.DIGITO_CONTA_CORRENTE as DIGITO16_7_, 
		cliente4_.INFORMACAO_NOTA as INFORMACAO17_7_, 
		cliente4_.INSCRICAO_ESTADUAL as INSCRICAO18_7_, 
		cliente4_.INSCRICAO_MUNICIPAL as INSCRICAO19_7_, 
		cliente4_.INSTRUCAO_BOLETO as INSTRUCAO20_7_, 
		cliente4_.ISSQN_ALIQUOTA as ISSQN21_7_, 
		cliente4_.ISSQN_MUNICIPIO as ISSQN22_7_, 
		cliente4_.MOTIVO as MOTIVO7_, 
		cliente4_.NOME_FANTASIA as NOME24_7_, 
		cliente4_.RAZAO_SOCIAL as RAZAO25_7_, 
		cliente4_.CODREPRESENTANTE as CODREPR29_7_, 
		cliente4_.SITUACAO as SITUACAO7_, 
		cliente4_.TELEFONE_PRINCIPAL as TELEFONE27_7_, 
		cliente4_.CODTIPO_PESSOA as CODTIPO28_7_, 
		cliente4_.CODUSUARIO as CODUSUARIO7_, 
		cliente4_.CODUSUARIO_PROSPECTADOR as CODUSUARIO31_7_ 
	from BLOQUETO bloqueto0_ 
	left outer join CONTA_RECEBER_EQUIPAMENTO_LANCAMENTO contareceb1_ on bloqueto0_.CODCONTA_RECEBER_EQUIPAMENTO_LANCAMENTO=contareceb1_.CODCONTA_RECEBER_EQUIPAMENTO_LANCAMENTO 
	left outer join CONTA_RECEBER_EQUIPAMENTO contareceb2_ on contareceb1_.CODCONTA_RECEBER_EQUIPAMENTO=contareceb2_.CODCONTA_RECEBER_EQUIPAMENTO 
	left outer join NOTA_FISCAL_EQUIPAMENTO notafiscal3_ on contareceb2_.CODNOTA_FISCAL_EQUIPAMENTO=notafiscal3_.CODNOTA_FISCAL_EQUIPAMENTO 
	left outer join CLIENTE cliente4_ on notafiscal3_.CODCLIENTE=cliente4_.CODCLIENTE 
	inner join ENDERECO locais5_ on cliente4_.CODCLIENTE=locais5_.CODCLIENTE 
	inner join CEP_BAIRRO cepbairro6_ on locais5_.CODBAIRRO=cepbairro6_.CODBAIRRO 
	inner join CEP_LOCALIDADE ceplocalid7_ on cepbairro6_.CODLOCALIDADE=ceplocalid7_.CODLOCALIDADE 
where notafiscal3_.CODCLIENTE=cliente4_.CODCLIENTE 
and (notafiscal3_.NUMERO is not null) 
and notafiscal3_.CODNOTA_FISCAL_EQUIPAMENTO=contareceb2_.CODNOTA_FISCAL_EQUIPAMENTO 
and contareceb2_.CODCONTA_RECEBER_EQUIPAMENTO=contareceb1_.CODCONTA_RECEBER_EQUIPAMENTO 
and notafiscal3_.ANULADA=0 and (bloqueto0_.CODCONTA_RECEBER_LANCAMENTO is null) 
and (bloqueto0_.DATA_ARQUIVO is null) and (bloqueto0_.NOSSO_NUMERO is not null) 
and bloqueto0_.CODCONTA_RECEBER_EQUIPAMENTO_LANCAMENTO=contareceb1_.CODCONTA_RECEBER_EQUIPAMENTO_LANCAMENTO 
and locais5_.CODENDERECO=cepbairro6_.CODBAIRRO 
and cepbairro6_.CODLOCALIDADE=ceplocalid7_.CODLOCALIDADE

??

Valeu :slight_smile:

1 Resposta

C

obs:
onde tem cliente4 é o que não pesquisei, veio junto…

Criado 20 de maio de 2009
Ultima resposta 20 de mai. de 2009
Respostas 1
Participantes 1