Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Unknown column 'versao' ao tentar implementar Lock otimista

Olá, pessoal. Tudo bem? Ao seguir os passos da aula para implementação de Lock Otimista eu tive como retorno vários excepions. O cause by me retornou o seguinte:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'versao' in 'field list'

Eu adicionei o atributo

@Version
private int versao;

como indicado na aula, mas parece que o Hibernate está tentando achar esse atributo na tabela de produtos.

Também adicionei o getter e o setter, o input no form.jsp do produto assim:

<input type="hidden" name="versao" value="${produto.versao}">

Alguma recomendação?

2 respostas
solução!

Fala Cristofer, tudo bem ?

Quando essa exception é lançada é porque o campo versao, não foi criado na base, mesmo estando presente no sua entidade. Acho que o único problema é que essa alteração na sua entidade não foi refletida no estado da sua base de dados. Tente gerar as tabelas novamente, pra ele incluir essa coluna na base pra você.

Espero ter ajudado. Abraço!

Olá, Rafael. Cara, por algum motivo o Hibernate cria todas as tabelas e todos os atributos quando ele inicia menos o campo "versao". Então inseri ele manualmente no banco de dados e funcionou.

Obrigado pela ajuda.