Olá pessoal, estou recebendo a exceção org.hibernate.LazyInitializationException
O método find parece não retornar a lista de preços dos livros:
@RequestMapping("/detalhe")
public ModelAndView detalhe(Integer id) {
ModelAndView modelAndView = new ModelAndView();
Produto produto = dao.find(id);
{//DEBUG
for(Preco preco:produto.getPrecos()) {
System.out.println("preco: "+preco.getTipo()+":"+preco.getValor());
}
}
modelAndView.addObject("produto",produto);
return modelAndView;
}
Na parte em que comentei com DEBUG , eu fiz para tentar chegar à causa do problema.
A Classe ProdutoDAO:
@Repository
@Transactional
public class ProdutoDAO {
@PersistenceContext
private EntityManager manager;
public void gravar(Produto produto) {
manager.persist(produto);
}
public List<Produto> listar() {
return manager.createQuery("SELECT P FROM Produto P", Produto.class).getResultList();
}
public Produto find(Integer id) {
return manager.find(Produto.class, id);
}
}
Estou pensando que pode ser alguma configuração, já que uso uma versão diferente do Spring para poder acessar o MySQL 8.
O Código eu deixei disponível no Github