Pessoal boa noite,
Preciso fazer uma app para que as pessoas possam atualizar uma determinada tabela. Como faço para evitar que duas pessoas ou mais ao mesmo tempo não atualizem a mesma linha da tabela via JSF. E, mais uma pergunta qual seria o melhor escopo do ejb, statless ou statlesfull?
Bom, a priori, isso não é um problema a ser tratado pelo JSF, pois, a ideia do JSF é, basicamente, formatar e expor os dados.
A persistência dos mesmos é responsabilidade do banco de dados (SGBD) e isso vai depender de como você manipula o mesmo.
Em resumo, posso dizer que você vai precisar trabalhar com os dois casos de LOCK, o otimista e o pessimista.
No primeiro caso, otimista, entende-se que, dois eventos concorrentes (duas transações com o banco de dados) e que apenas uma delas irá alterar o conteúdo (insert, update, delete).
No segundo, o pessimista, os dois eventos precisam alterar dados.
A forma de se resolver cada situação depende da abordagem que você vai optar.
JDBC? ORM (hibernate? eclipselink?)
Grato, estou usando o Hibernate, mas como controlo isso? Para simplificar o usuário não precisa se logar no sistema, é algo bem simples, só não sei agora como irei gerenciar isso. Talvez coloque um aviso na tela que já existe uma sessão aberta que e que alguém está mechendo com aquela mesma linha…Como vc conselharia colocar o EJB, qual seria o estatus também do bean do jsf?
quem usa JSF em projeto novo em 2018? rs
Mas sério, não entendi… Por que quer evitar duas pessoas atualizarem o sistema? Qual sua preocupação?
O Hibernate é usado justamente pra não ter que se preocupar com isso. Não faz sentido nenhum usar Hibernate e ficar pensando em linhas de tabela.
Eu uso JSF em 2018, e tô ganhando dinheiro heheh.
Mas sim, já ando migrando para Angular com REST e cia ltda…
Nada, atende perfeitamente minhas necessidades!!
Normalmente quem é programador Java desktop e pula para web, sem estudar desenvolvimento web.
Na real, já desenvolvi Web para o meu trampo, mas faz tempo!