Para esta nao ser uma postagem muito extensa, irei utilizar o mesmo projeto e o mesmo relatorio criado na postagem: agrupando de dados com JasperReports. Para completar esse projeto, logo abaixo do agrupamento eu vou listar os dados dos cliente, ou seja, terei um relatorio de clientes embutido no relatorio de pedidos (claro que pode ser feito outras coisas, este e apenas um exemplo)Comecando...Entao la no projeto Pedidos (link acima), dentro do pacote pedidos.dao, vamos criar uma classe Java como o nome de ClienteDAO, seguindo a mesma linha da classe PedidoDAO, temos:public class ClienteDAO { EntityManagerFactory emf = Persistence.createEntityManagerFactory("PedidosPU"); EntityManager em = emf.createEntityManager(); public List<Cliente> listarClientes() { List<Cliente> clientes = null; try { Query query = em.createQuery("Select c from Cliente c order by c.nome"); clientes = query.getResultList(); } catch (Exception e) { e.printStackTrace(); } finally { em.close(); } return clientes; }}No iReport, vamos editar o relatorio pedidos.jrxml, criando tambem no link da postagem acima.Para comecar no relatorio vamos adicionar a band Summary:Precisamos criar um parametro que sera enviado pelo projeto, para isso no Report Inspector, clique com o botao direito em Parameters, e em Adicionar Parameter:Selecione o parameter1 e va nas propriedades para configura-lo, altere o nome para listaClientes e o Parameter class para java.util.List, pois passaremos por parametro uma lista de clientes:Na paleta procure pelo elemento Subreport, arraste-o para a band Summary, a partir de agora siga as imagens abaixo:Clique em proximo, na janela abaixo selecione o tipo Blank A4:Clique em proximo novamente, como estamos usando JavaBean datasource, e nao utilizamos datasource, configure como na imagem:Avance de novo:Mais uma vez:Na janela abaixo informe o nome do Subreport, nesse caso sera chamado de pedidos_subreport:No passo 7, habilite a opcao "Use a JRDatasource expression", e clique no botao do lado da caixa de texto, a seguinte janela aparecera, nela nos convertemos a listaClientes em um JRBeanCollectionDataSource :Ao clicar em Apply voltamos para a seguinte janela:E aqui basta finalizar...No relatorio que foi criado, deixe apenas as bands - Title, Column Header e Detail 1:Como sera uma lista de clientes, precisamos pegar da classe Cliente os seguintes fields - codigo, nome e limiteCredito... para isso em Report Query, na aba JavaBean Datasource:Feito isso...Como visto em postagens anteriores, estruture o relatorio para que fique assim:Ah, lembre-se de nas propriedades do relatorio alterar a linguagem para Java, ja que estamos usando JavaBean datasource:Depois disto basta compilar nosso subreport, para poder gerar o pedidos_subreport.jasper Voltamos ao pedidos.jrxml, e vamos fazer umas ultimas configuracoes, temos este resultado:Precisamos criar mais um parametro que sera uma String com o caminho de onde encontrar o pedidos_subreport.jasper, repita o mesmo passo que foi feito para criar o listaClientes, mas dessa vez use as seguintes propriedades:Agora precisamos seta-lo no lugar certo... para isso: veja que na band Summary tem um elemento que representa o subreport, clique nele e va nas propriedades, procure por Subreport Expression, e configure-o assim:Feito todos esses passos, pode compilar novamente o relatorio principal (pedidos)...Caso nao ocorra nenhum erro, voltamos ao projeto Pedidos no NetBeans.No projeto..No pacote pedidos,controle.relatorios, substitua o pedidos,jasper pelo que foi compilado agora, e adicione o pedidos_subreport.jasper, ficando