opa pelo que eu vi, a coleção está LAZY então quando você der um simples get nessa coleção o hibernate deveria trazer os dados para você, agora pelo que lembro se quiser que já esteja carregada troque para EAGER
e se eu coloco lazy nessa, ele não carrega as questões… a minha questão é como inicializar uma coleção que tem modo Lazy…
acho que é esta =D
mt obrigado
alberto_ribeiro
opa !!!
então, o que eu sei é que quando está LAZY é só você pegar seu objeto e usar o get que o hibernate vai no banco para carregar a coleção, assim:
questao.getAlternativaCollection();// isso deveria fazer o hibernate ir ao banco carregar a lista...
o problema de “org.hibernate.HibernateException: cannot simultaneously fetch multiple bags” é porque você está usando como colections, se trocar para Set vai funcionar acredito eu, deixando como eager…rs
você poderia trocar de ArrayList para HashSet, ou tem que ser ArrayList mesmo ?
você chama o método que faz find na Questão ele carrega as questoes porém nao carrega as alternativas, depois você pode inicializar as bags dando o get, agora porque você não pode dar um get ??? o get é só para inicializar, depois de inicializar todas você manda serializar…
[]'s
renato_ramos
tentei fazer o get assim
ArrayList<Questao>questaoList=newArrayList<Questao>();questaoList.addAll(questionario.getQuestaoCollection());for(inti=0; i < questaoList.size();i++){
Questaoquestao=questaoList.get(i);ArrayList<Alternativa>alternativaList=newArrayList<Alternativa>();alternativaList.addAll(questao.getAlternativaCollection());questao.setAlternativaCollection(alternativaList);questaoList.add(i,questao);}
questionario.setQuestaoCollection(questaoList);
e deu a msm execao
com hashset eu não tentei… como eu usaria ele?
alberto_ribeiro
é o mesmo que ArrayList em relação a metodos(claro que tem diferenças quanto o funcionamento) apenas troque para HashSet e deve ter alguns metodos diferentes, caso algum método não exista de uma procurada sobre HashSet que vai achar muitas coisas e é bem simples…
renato_ramos
alberto muito obrigado mesmo… se nao sabe o quanto eu procurei atraz de uma solução pra isso
hashset funcionou =D
erroneamente falando o hashset é a ArrayList do set? xD