Controle de concorrencia - Lock otimista - Hibernate

Pessoal,

No lock pessimista, uma transacao atualizando um dado bloqueia este dado e só o libera apos a completa atualizacao.

No lock otimista, o dado nao é bloqueado, mas se outra transacao tentar atualizar o mesmo dado, ocorrerá um erro de violacao de concorrencia.

Estou certo nas colocacoes acima?

Mas, no caso do lock otimista, esse erro é explicito ou a segunda transacao que provocou o erro de violacao de concorrencia fica aguardando?

É que utilizei a estrategia abaixo nos POJOs - Tabelas que sofrem update durante a transacao e nao tenho certeza se tudo funcionará legalzinho em caso de concorrencia:

//Atributo utilizado para o versionamento e inserido no POJO (Plain Old Java Object)
@Version
@Column(name = “versao”)
private int versao;

Agradeço quem puder opinar.

[quote=PePeLeGaL]Pessoal,

No lock pessimista, uma transacao atualizando um dado bloqueia este dado e só o libera apos a completa atualizacao.

No lock otimista, o dado nao é bloqueado, mas se outra transacao tentar atualizar o mesmo dado, ocorrerá um erro de violacao de concorrencia.

Estou certo nas colocacoes acima?

[/quote]

PePeLeGaL suas afirmações sobre lockotimista e pessimista estão corretas. só não ficou claro sua duvida, pode por favor reformular?