Passar um atributo do tipo List para o IReport

0 respostas
W

Boa tarde Sr(a)s !

Estou enfrentando um problema ao passar a minha fonte de dados para o iReport. Estou usando JPA. Todos os campos mapeados não apresentam problema. Ocorre que existe um atributo da minha classe como Transiente e que antes de passar a lista como fonte de dados para o meu relatório preencho o atributo Transiente (que é um lista de uma outra classe). Até aí tudo bem . Porém o relatório não é exibido. O campo no iReport está com o atributo “Field Class” como java.util.List setado. Abaixo o código

Entidade Trabalho

@Column(name = "DT_FINAL")
   @Temporal(javax.persistence.TemporalType.DATE)
   private Date dtFinal;

   @ManyToOne
   @JoinColumn(name = "ID_ELEICAO")
   private Eleicao  eleicao;
 
   @Transient
   private List<Tecnico> tecnicos;

   public List<Tecnico> getTecnicos() {
        return tecnicos;

   public void setTecnicos(List<Tecnico> tecnicos) {
        this.tecnicos = tecnicos;
   }
   }

Bean que alimenta os atributos transientes

public List<Trabalho> getListaTrabalhoRel() {
        for (Trabalho item : getListaTrabalho()){
           item.setTecnicos(servicoTecnicoService.buscarTecnicosTrabalho(item));
        }
        return listaTrabalho;
    }

Trecho do Bean onde chamo o relatório e informo a fonte de dados, no caso um lista.

parametros.put("ROOT_DIR", ctx.getRealPath(""));
         //cria uma fonte de dados para coleções
         JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(getListaTrabalhoRel());
         //envia para o navegador o PDF gerado
         JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);
         servletOutputStream.flush();
         servletOutputStream.close();

Se removo o campo “tecnicos.nomeCompleto” do IReport o relatório é exibido corretamente.

Como disse anteriormente o campo no iReport esta com o atributo “Field Class” como java.util.List setado e está nomeado como :
“tecnicos.nomeCompleto”. -------->(.nomeCompleto) atributo da Classe Tecnico.
|------------> Atributo transiente da entidade Trabalho

Onde estou errando ?

[]s

Criado 12 de julho de 2010
Respostas 0
Participantes 1