Bom dia
Tenho a classe Categoria:
@XmlRootElement(name = "categoria")
@Entity
@Table(name = "CATEGORIA")
public class Categoria {
@Id
@GeneratedValue
@Column(name = "ID")
private int id;
@Column(name = "NOME")
private String nome;
@OneToMany(mappedBy="categoria", fetch = FetchType.EAGER)
private Set<Produto> produtos;
// gets e sers omitidos
public List<Categoria> listaTudo(){
// Vai no banco tras todas as categorias
List<Categoria> lista = dc.listaTudo();
return lista;
}
}
//Classe Produto:
@Entity
@Table(name = "PRODUTO")
public class Produto {
@Id
@GeneratedValue(generator="SEQ_PRODUTO")
@SequenceGenerator(name="SEQ_PRODUTO", sequenceName="SEQ_PRODUTO", allocationSize=1)
@Column(name = "ID")
private int id;
@Column(name = "NOME", nullable = true, length = 50)
private String nome;
@ManyToOne
@JoinColumn(name = "CATEGORIA_ID", nullable = false)
private Categoria categoria;
}
//Serviço:
@Path("/categoria")
public class CategoriaServico {
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public List<Categoria> tudo(){
Categoria c = new Categoria();
for(Categoria car:c.listaTudo()) {
System.out.println(" Cat: "+car.getNome());
//Produto p = new Produto();
for(Produto p:car.getProdutos()) {
System.out.println(" Prod: "+p.getNome());
}
}
return c.listaTudo();
}
}
Aqui no teste consigo ler produtos em cada cateria (trás todas as categorias com os produtos de cada uma)
porem não consegue montar o XML, na tela da erro 500
Não consegue ler a lista de produtos dentra da lista de Categoria