A classe produtos tem um list de Itens conforme abaixo. Ao realizar a pesquisa o objeto itens não é carregado, porque eu fecho a conexão. somente é carregado quando utilizo o “fetch = FetchType.EAGER”.
** Caso eu não feche a conexao ele busca normalmente.
** Alguem consegue me dizer se existe uma solução para eu continuar a fechar a conexao e preencher os dados quando necessário?
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(joinColumns = { @JoinColumn(name = “id_produto”) }, inverseJoinColumns = {
@JoinColumn(name = “id_item”) })
private List itens;
public Produto ObterPorID(Integer id) throws Exception {
EntityManager em = new JPAUtil(this.base).getEntityManager();
Query query = em.createQuery("FROM Produto where id=:id");
query.setParameter("id", id);
if (!query.getResultList().isEmpty()) {
Produto produto = (Produto) query.getSingleResult();
em.close();
return produto;
} else {
em.close();
return null;
}
}
Bloco de Citação