I'm having a problem with OpenSessionInViewFilter and objects described in Sections, to do in a given request, occurs:
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ... , could not initialize proxy - no Session
My Controller:
@Controller
public class ProdutoIntercambiavelController {
@Autowired
private IProdutoService produtoService;
private Produto getProduto(HttpSession session){
return (Produto)session.getAttribute("produto");
}
private void setProduto(Produto produto, HttpSession session){
session.setAttribute("produto", produto);
}
@RequestMapping(value="/Produto/Editar/{id}/Intercambiavel/", method= RequestMethod.GET)
public String index(@PathVariable int id,Model model, HttpSession session){
if (getProduto(session)==null)
setProduto(produtoService.Abrir(id), session);
model.addAttribute("produto", getProduto(session));
return "editintercambiavel";
}
My Entity:
@Entity
public class Produto implements Serializable {
...
@OneToMany(fetch=FetchType.LAZY)
private List<ItemKitProduto> itensKitProduto = new ArrayList<ItemKitProduto>();
@OneToMany(mappedBy="produto_pai", fetch=FetchType.LAZY)
private List<Produto> intercambiaveis = new ArrayList<Produto>();
@OneToOne
private Produto produto_pai;
}
what would be the best practice to handle entities in session?