Hibernate + JSF + Primefaces + Listas

Pessoal, desenvolvi uma aplicação web que utiliza Hibernate, JSF, Primefaces e Spring Security. Como trabalho com listas, quando a mesma lista é apresentada para mais de um usuário ao mesmo tempo, o datatable se perde na referência da linha x objeto. Ou seja, se o usuário X exclui o registro 10, o datatable não vai atualizar para o usuário Y, que ao clicar em excluir, vai eliminar o registro 9, porque o 10 já não consta na lista. Não sei se fui claro… como posso resolver?

Não foi…se vc tem 2 usuario…vai ter 2 sessões…oq 1 fizer na sua sessão não sera propagada para outra…até o segundo usuario atualize sua lista.
Qual é o problema de negocio?

Sim, eu entendo que as sessões vão ser diferentes. O problema de negócio é que, por editarem os itens em concorrência, acabam editando itens errados. Vou tentar fazer um refresh automático então. Grato

O problema é ambos usuário editar? deletar? o mesmo item? A operação para o banco de dados? Qual? Refresh automático não é a solução…

Todos os usuários terão que monitorar a lista em “tempo real”, quando alguma operação ocorrer a atualização precisa aparecer para todos, e também colocar um sistema de segurança onde caso tenha ocorrido uma operação trava qualquer operação antes de atualizar os dados.

Não sei se fui claro, mas é algo como, sempre antes de realizar uma ação o sistema precisa consultar se houve alguma alteração (uma flag no banco) e caso tenha ocorrido avise o usuário e desfaça a ação, ou peça pra ele conferir e confirmar, pois nem sempre da tempo de realizar o refresh, as vezes as ações de dois usuários são quase que simultâneas.

Tem várias técnicas para isso, basta pesquisar por controle de concorrência em banco de dados compartilhado. Segue uns slides que podem lhe ajudar a entender melhor por que não é algo tão simples de resolver e também apresentar técnicas para resolução:

Fera, se entendi bem o seu problema, o lock otimista vai resolver o seu problema, da uma olhada neste video ai e se for isso é bem facil de implementar.