Estou com um problema aqui, o negocio é o seguinte da select no banco de dados, carrega a lista só que na hora de devolver da erro 500… não está dando nenhuma exceção nem nada, o hibernate da um select somente… se alguem souber como me ajudar…
Código do metodo http
@GET
@Path("/produtosporcategoria")
@Produces(MediaType.APPLICATION_JSON)
public List<Produto> listarProdutosPorCategoria(@QueryParam("id") int idTipo) {
ProdutosDAO produtosDAO = new ProdutosDAO();
return produtosDAO.listarProdutoPorTipo(idTipo);
}
codigo do DAO
public List<Produto> listarProdutoPorTipo(int idTipo) {
EntityManager em = JPAUtil.getEntityManager();
Query query = em.createQuery("Select p from Produto p where p.idTipoProduto.id = :idTipo");
query.setParameter("idTipo", idTipo);
List<Produto> produtos = query.getResultList();
em.close();
return produtos;
}
Classe Produto…
@Entity
@Table(schema="produtos", name="\"Produtos\"")
public class Produto {
@SequenceGenerator(name="produtosGen",
sequenceName="PRODUTOS_SEQ",
allocationSize=1)
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="produtosGen")
@Column(name="\"Id\"")
private int id;
@Column(name="\"Descricao\"", nullable=false)
private String descricao;
@Column(name="\"PrecoVenda\"", nullable=false)
private Double precoVenda;
@Column(name="\"PrecoCusto\"", nullable=false)
private Double precoCusto;
@ManyToOne(cascade=CascadeType.PERSIST, fetch = FetchType.LAZY)
@JoinColumn(name="\"IdTipoProduto\"", nullable=false)
private TipoProduto idTipoProduto;
@ManyToOne(cascade=CascadeType.PERSIST, fetch = FetchType.LAZY)
@JoinColumn(name="\"IdSetorProduto\"", nullable=false)
private SetorProduto idSetorProduto;
@OneToMany(mappedBy="produtoMesa", targetEntity=MesaProduto.class, fetch = FetchType.LAZY)
private List<Produto> produtos;
//getter e setters
}
E o persistence xml…
<persistence-unit name="Maisuma" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/> <property name="hibernate.connection.driver_class" value="org.postgresql.Driver"/> <property name="hibernate.connection.username" value="postgres"/> <property name="hibernate.connection.password" value="MASTERKEY"/> <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/Restaurante2"/> <property name="hibernate.max_fetch_depth" value="5"/> <property name="hibernate.format_sql" value="true" /> <property name="hibernate.use_sql_comments" value="false" /> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.jdbc.batch_size" value="50" /> <!-- alternatively to <class> and <property> declarations, you can use a regular hibernate.cfg.xml file --> <!-- property name="hibernate.ejb.cfgfile" value="/org/hibernate/ejb/test/hibernate.cfg.xml"/ --> </properties> </persistence-unit>
Acho que é só isso mesmo?

