2016-09-15 9 views
0

Я пытаюсь использовать оптимистичную блокировку. Я добавляю столбец версии в свою таблицу, как установить значение по умолчанию для столбца версии для существующих данных, или этого достаточно для сущности?Как установить значение по умолчанию для столбца версии для существующих данных?

@Version 
@Column(name = "VERSION") 
private Long version = 0L; 
+0

Это ваш вопрос: * сценарий * У вас есть уже существующие объекты в базе данных (без столбца версии), и теперь вы хотите добавить оптимистичную блокировку; * вопрос: * как добавить значение версии к уже существующим объектам? – Ralph

+0

Да, это правильно @Ralph – Ganesh

ответ

0

Самый простой способ сделать это в базе данных.

Конечно вам нужно добавить столбец версии все равно: что-то вроде:

alter table MyEntity add column version INT(11); //no not null constraint here! 

, а затем просто добавить первое значение для всех субъектов:

update MyEntity set 'version' = 1; 

теперь вы можете также добавить не ноль Ограничение

alter table MyEntity modify version INT(11) NOT NULL; 

(I expe ct, что вы останавливаете приложение, пока вы добавляете столбец версии).