Olá,
Fiz a migração do mapeamento de um projeto de arquivos xml para annotations.
Depois que terminei, reparei que ocorreu uma mudança na maneira de carregar os relacionamentos dos meus objetos.
Eu traduzi as entradas ManyToOne do xml de:
para:
@ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE}, targetEntity=Category.class, fetch=FetchType.LAZY )
@JoinColumn(name="cat_id")
private Category category;
Antes o hibernate carregava apenas o id dos objetos relacionados
ItemDAO itemDAO = factory.getItemDAO();
Item item = itemDAO.getItem(123);
int cat_id = item.getCategory().getId(); //ok
String name = item.getCategory().getName(); //ERRO LazyLoadingException
Agora, só de chamar o getCategory() estoura o LazyLoadingException!
Alguém sabe como corrigir isso para manter o comportamento anterior? Ou seja, carregar apenas os ids dos objetos?
Obs.: Já tentei sem sucesso:
@ManyToOne( targetEntity=Category.class )
@LazyToOne( LazyToOneOption.NO_PROXY )
@JoinColumn(name="cat_id")
Vlw