Problema com Hibernate Anottations + DAO

3 respostas
E

Estou tendo um problema quando executa uma consulta via HQL no trecho seguinte :

DAOFactory factory = DAOFactory.instance(DAOFactory.HIBERNATE);
		ItensOrcDespesasDAO itensOrcDespesasDAO = factory.getItensOrcDespesasDAO();
		List<ItensOrcDespesa> listaItensOrcDespesas = (List<ItensOrcDespesa>) itensOrcDespesasDAO.findByHsql("select iod from ItensOrcDespesa     as     ItensOrcDespesa join iod.projeto as projeto join iod.dspNaturezas as dspNaturezas join iod.orcamento as orcamento where iod.orcamento = "+idOrcamento+" ");	
		List<ItensOrcDespesasDTO> listaItensOrcDespesasMd = new ArrayList<ItensOrcDespesasDTO>();
		for (ItensOrcDespesa itensOrcDespesas : listaItensOrcDespesas) {
			listaItensOrcDespesasMd.add((ItensOrcDespesasDTO) Util.entityToBaseModel(itensOrcDespesas,ItensOrcDespesasDTO.class));
		}
		return listaItensOrcDespesasMd;

Ao executar essa consulta o objeto projeto é retornado vazio, quando observo o log do hibernate ele executa diversas consultas sql, ao meu ver ele deveria executar só uma com todos os devidos joins.

Quando eu executo a consulta da seguinte:

List<ItensOrcDespesa> listaItensOrcDespesas = itensOrcDespesasDAO.findByHsql("from ItensOrcDespesa     as     ItensOrcDespesa join iod.projeto as projeto join iod.dspNaturezas as dspNaturezas join iod.orcamento as orcamento where iod.orcamento = "+idOrcamento+" ");

ele não executa aquele grande numero de consultas, mas se gera um erro de conversão quando vou fazer a iteração na Lista retornada

3 Respostas

E

Oi pessoal , ninguém tem nada a dizer sobre meu problema ?

idev4web

para dar uma resposta teria que ver o mapeamento que vc fez

e o que exatamente vc quer obter

E

Segue o MApeamento que tá com problema

@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "id_projeto", nullable = false)
	public Projeto getProjeto() {
		return this.projeto;
	}

O projeto está sendo retornado como nulo , quando não está.

Criado 29 de julho de 2010
Ultima resposta 2 de ago. de 2010
Respostas 3
Participantes 2