Problemas com relacionamentos no ireport

boa tarde, desculpe a todos se a duvida é basica, + pesquisei no google e não achei como resolver meu problema

estou estudando ireport para fazer um trabalho e fiz com uma classe simples sem relacionamento primeiro para testar e funcionou de boa, porem quando fui fazer com um das classes q tem relacionamento eu simplesmente não consigo usar o relacionamento, o mais próximo q consegui foi fazer imprimir o toString do obj com o sql abaixo

select produto.id, produto.codigo, produto.nome, Categoria.nome as Categoria
from tb_produto as produto
inner join tb_categoria as Categoria on Categoria.id = produto.categoria_id;

se eu fizer direto o “select * from tb_produto;” ele não traz nada, na verdade ele da um erro dizendo q nãi existe o campo fk_categoria no bean

a sim meu problema e para apresentar os dados do relacionamento no ireport, ou seja no caso ser de mostrar os dados do obj categoria (+ especiicamente o nome dela) q o produto possui

alguem sabe como me ajudar?

Carol,supondo que o teu modelo esteja assim:

public class Produto{
  Categoria categoria;
}

Para acessar os dados da categoria do produto basta vc criar um field assim:
$F{categoria.nome}

bom dia raf4ever, obrigada pela ajuda

tentei fazer o que vc falou mas infelizmente ele deu o seguinte erro:

“net.sf.jasperreports.engine.design.JRValidationException: Report design not valid : 1. Field not found : categoria.nome”

usando a query no relatorio do ireport eu consego o seguinte resultado no relatorio:

query:

select produto.id, produto.codigo, produto.nome, Categoria.nome as categoria
from tb_produto as produto
inner join tb_categoria as Categoria on Categoria.id = produto.categoria_id;

resultado:
$F{id} | $F{codigo} | $F{nome} | $F{categoria}
1 | 001 | chocolate | model.Categoria@152bdc7

porem ao colocar $F{categoria.nome} como o raf4ever falou deu o erro " Field not found : categoria.nome"

alguem faz ideia de como resolver?

vc precisa CRIAR o field :smiley:

quando vc declarou o campo vc definiu ele como “java.lang.Object” no xml ???

Olá amigos, estou com o mesmo problema, porém utilizo EJb e anotations na classe de persistência, porém o relacionamento das classes é definido via anotations e no ireport funciona perfeitamente, porém no java, não funfa! Poderiam me ajudar?

Bom dia !!

carol-rj uma pergunta: vc inseriu a query e acionou o botão “Read Fields” no report query, para criar os fields no seu relatório?
Pelo seu resultado crie o campo dessa maneira: $F{nome} pois vc nao definiu um álias para o campo.

Att.