Amigos, boa tarde,
Sou novo no desenvolvimento em Java, a pouco tempo terminei a academia do Java e estou fazendo a academia do web na gc, e minha dúvida pode ate ser simples mas não estou sabendo por onde começar:
O meu problema é o seguinte, possuo um método:
public double getChsGradeDetalhada()
{
Iterator it = getDetalhamentosGrade().iterator(); //Meu problema esta aqui
double total = 0;
while (it.hasNext())
{
DetalhamentoGrade dg = (DetalhamentoGrade) it.next();
total += (double)dg.getValorDiferencaHorario()*((double)dg.getNumSemanas()/(int)getDetalhamentoData().getNumSemanas());
}
return Util.arredondarNumero(total, 2);
}
A aplicação que estou dando manutenção esta usado hibernate e quando submeto um formulário de cadastro, ele chama este método (Que tras um saldo de horas) e depois de realizar o cadastro, o sistema chama este método novamente para exibir o novo saldo.
O problema é o seguinte, no primeiro momento que acesso este método ocorrem 4 interações dentro do loop, mas depois de inserir o novo registro quando eu chamo o método novamente ocorrem ocorrem 5 interações, como já é de se esperar, porem ele apresenta o erro:
Não sei se ajuda mas abaixo segue o trecho da classe que esta chamando o método pela segunda vez:
sessaoHib.flush();
DocenteAdm da = new DocenteAdm(sessaoHib);
sessaoHib.refresh(docente);
DocenteResumido dr = da.getDocenteResumidoDeDocente(docente); //br.senac.sp.sisdocen.servlet.DetalhamentoGradeAcaoServlet.processRequest(DetalhamentoGradeAcaoServlet.java:201)
sessaoHib.merge(dr);
tx.commit();
Não o que esta errado, alguem pode me dar uma dica?
Desde já agradeço
Victor
