Controle de Transacao

Bom dia galera do GUJ. Estou lendo sobre controle de transacao do hibernate e me deparei com uma duvida. Eu tenho um sistema distribuido e tenho varios usuarios acessando o mesmo recurso (um formulario), dae dois ou mais usuario executam uma atualizacao ao mesmo tempo. Em sistemas distribuidos é muito interessante eu ter sempre uma coluna em cada entidade (tabela) para controlar as transacoes, para que duas transacoes possam comitar a mesma operacao? Se a resposta for sim, eu tenho que criar esse campo em todas as minha tabelas para evitar tais erros?

<version name="versao" column="versao"/>

Obrigado a todos…

Você pode adotar duas estratégias de lock:

Você descreveu um approach otimista com o controle no banco de dados. Não acho a melhor solução (depende da sua arquitetura), mas se a sua dúvida é se deve colocar esta coluna em todas as tabelas, a resposta é não: coloque apenas nas tabelas que tem este problema de concorrencia.

Meu caro oyama.
Muito obrigado…