Hibernate HQL duvida tosca

5 respostas
C

galera, fiz a seguinte pesquisa… roda tranquila mas retorna null… o que poderia ser?
sendo que todas as tabelas existem e está tudo mapeado…

public String numeroDocumentoFull(int dado){
		
		StringBuilder pesquisa = new StringBuilder(" select a.contaReceberEquipamentoLancamento ").
		append(" from br.com.topsafe.model.financeiro.Bloqueto a ");
		Query query = getSession().createQuery(pesquisa.toString());
		
		StringBuilder hql = new StringBuilder( "select o.numeroDocumento");
		if(query == null)
		{
			hql.append(" from br.com.topsafe.model.financeiro.ContaReceberLancamento o").
			append(" where o.id in (").
			append("select b.contaReceberLancamento ").
			append("from br.com.topsafe.model.financeiro.Bloqueto b ").
			append("where b.id = ?)" );
			
		}
		else if(query != null)
		{
			hql.append( " from br.com.topsafe.model.financeiro.equipamento.ContaReceberLancamento o " ).
			append( " where o.id in( " ).
			append("select b.contaReceberEquipamentoLancamento ").
			append("from br.com.topsafe.model.financeiro.Bloqueto b ").
			append("where b.id = ?)" );
			
		}
		
		Query select = getSession().createQuery(hql.toString()).setInteger(0, dado);
		return (String) select.uniqueResult();

	}

Vaaleu :smiley:

5 Respostas

Mero_Aprendiz

caina27:
galera, fiz a seguinte pesquisa… roda tranquila mas retorna null… o que poderia ser?
sendo que todas as tabelas existem e está tudo mapeado…

public String numeroDocumentoFull(int dado){
		
		StringBuilder pesquisa = new StringBuilder(" select a.contaReceberEquipamentoLancamento ").
		append(" from br.com.topsafe.model.financeiro.Bloqueto a ");
		Query query = getSession().createQuery(pesquisa.toString());
		
		StringBuilder hql = new StringBuilder( "select o.numeroDocumento");
		if(query == null)
		{
			hql.append(" from br.com.topsafe.model.financeiro.ContaReceberLancamento o").
			append(" where o.id in (").
			append("select b.contaReceberLancamento ").
			append("from br.com.topsafe.model.financeiro.Bloqueto b ").
			append("where b.id = ?)" );
			
		}
		else if(query != null)
		{
			hql.append( " from br.com.topsafe.model.financeiro.equipamento.ContaReceberLancamento o " ).
			append( " where o.id in( " ).
			append("select b.contaReceberEquipamentoLancamento ").
			append("from br.com.topsafe.model.financeiro.Bloqueto b ").
			append("where b.id = ?)" );
			
		}
		
		Query select = getSession().createQuery(hql.toString()).setInteger(0, dado);
		return (String) select.uniqueResult();

	}

Vaaleu :D

Olá.
Talvez as informações que você quer trazer do banco não existam segundo as condições que você passou na Query.
Coloque um hibernate.show_sql igual a true no seu arquivo de configuração do Hibernate e avalie a query e seus dados. =]

[]'s
JL

moacirjava

caina27:
galera, fiz a seguinte pesquisa… roda tranquila mas retorna null… o que poderia ser?
sendo que todas as tabelas existem e está tudo mapeado…

...
			append("where b.id = ?)" );

Vaaleu :D

No lugar onde faz isso ai, não está faltando nada parecido com isto aqui?

Query select = sessao.createQuery("where b.id = :id)"); select.setParameter("id", seuParametro);

C

acabei de ver o console, voltam alguns valores, não deu pra ver quantos :smiley: mas volto algo hehehe
vo continuar vendo :S
valeu!

C

moacirjava:
caina27:
galera, fiz a seguinte pesquisa… roda tranquila mas retorna null… o que poderia ser?
sendo que todas as tabelas existem e está tudo mapeado…

...
			append("where b.id = ?)" );

Vaaleu :D

No lugar onde faz isso ai, não está faltando nada parecido com isto aqui?

Query select = sessao.createQuery("where b.id = :id)"); select.setParameter("id", seuParametro);

não pois o valor que o id pega é um valor que eu mando ( int dado ) pra ele :?

C

Achei o Erro!!
ueehuheuehe

em vez de CONTA_RECEBER_LANCAMENTO
era CODCONTA_RECEBER_LANCAMENTO
:smiley:

que bobera :?

valeu pessoal

Criado 16 de abril de 2009
Ultima resposta 16 de abr. de 2009
Respostas 5
Participantes 3