Boa tarde a todos,
tenho uma tabela em forma de histórico que possui, além dos campos específicos, uma coluna contendo o saldo atual de um usuário. Toda vez que um novo registro vai ser adicionado nesta tabela a aplicação busca o último registro daquele usuário e soma ou subtrai a esse saldo.
Em algumas raras situações eu faço essa adição dentro de um for com uma sessão aberta previamente.
Acontece que, arbitrariamente, ele soma fazendo uso de um registro anterior dentro do for. Por exemplo, o saldo atual é 30 e vou fazer 10 iterações somando 10 ao saldo de um mesmo usuário. Teoricamente ele deveria pegar o valor 30, somar 10 e ir pra 40; na segunda iteração ir de 40 pra 50 e assim por diante. Mas o que acontece é que as primeiras iterações somam 10 normalmente, porém as últimas pegam o valor 30 - registro presente na primeira iteração.
Tentei fazer um session.flush() entre cada iteração mas não adiantou.
Alguém sabe como posso forçar que esse for trabalhe de forma sincronizada??
Obrigado, pessoal!