Como funciona IReport + Java + Hibernate ?

Olá.

Estou tentando gerar relatórios no IReport sem fazer conexão com o banco, apenas tratando as informações na aplicação e enviando para o relatório. Já olhei algumas video aulas porém não consegui entender bem. Para fazer isso preciso enviar uma lista de dados para o relatório ? Preciso configurar o JavaBeans set Datasource? Devo utilizar minhas entidades?
OBS: Estou utilizando Hibernate.

Se alguém tiver alguma dica, ou até mesmo algum material de estudo para indicar eu ficaria muito grato.

Olá Guilherme.
Obrigado pela sugestão, porém eu já havia olhado este tópico e como é um tópico um pouco antigo, os links de exemplo que foram disponibilizados já acabaram expirando.
Mas obrigado de qualquer forma.

Cara, esse link aqui é bem útil e bem explicativo: https://imasters.com.br/back-end/como-gerar-relatorios-com-ireport-jasperreport-e-com-hibernate

Então preciso sabe como está configurado seu projeto e como está tentando executar.

Utilizo tranquilamente dá maneira em que você disse.

regra, consultas, tudo fica no java, preencho as variáveis que o iReport solicita e que eu criei, e ele imprimi PDF, HTML ou WORD.

Olá guilherme.

Olha só, consegui mandar dados e gerar um relatório bem simples, mas funcionou, mas tenho uma dúvida que talvez você possa me ajudar.

Por exemplo, neste relatório eu tenho o nome, a profissao e a função do profissional. Porém a profissão e a função vem de outra tabela e não da tabela profissional, aliás, é feito uma relação aqui de 1 pra N

O código que uso é o seguinte:

    public void deLista(String reportNome, List<?> lista) throws JRException {

        //RECEBE O NOME DO RELATÓRIO E MONTA O CAMINHO
        String reportlocal = "/relatorio/"+reportNome+".jrxml";
        
        //CARREGANDO ARQUIVO DO REPORT NO fonte
        InputStream fonte = Relatorio.class.getResourceAsStream(reportlocal);

        //COMPILANDO O ARQUIVO QUE ESTÁ NO fonte
        JasperReport report = JasperCompileManager.compileReport(fonte);

        //PREENCHENDO O RELATÓRIO (O PRIMEIRO PARÂMETRO É O RELATÓRIO COMPILADO)
        //                        (SEGUNDO PARÂMETRO PODERIA SER O NOME E CAMINHO DE UM LOGO)
        //                        (TERCEIRO PARÂMETRO É UMA LISTA CONVERTIDA EM DATASOURCE *de onde vem os dados do relat)
        JasperPrint print = JasperFillManager.fillReport(report, null, new JRBeanCollectionDataSource(lista));

        //MOSTRANDO O RELATÓRIO, SEGUNDO PARÂMETRO ESTÁ COMO FALSE PARA NÃO FECHAR O PROGRAMA JUNTO COM O RELATÓRIO
        JasperViewer.viewReport(print, false);
    }

No caso, eu envio uma lista de profissionais para o relatório, ate ai acredito que tudo normal. A minha dúvida é…Eu preciso mandar uma lista de profissões e funções também ? para dai obter o nome da profissão e função de cada profissional ?

Talvez eu esteja falando bobagem, mas é algo que estou em dúvida.

Agradeço desde já por toda a ajuda.