2016-09-15 58 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在添加版本列時停止應用程序)。

相關問題