1
而我重構代碼庫我通過Hibernate註釋中USER實體來了,如同它是很好的保持DB約束休眠實體
@Column(name = "personal_email", nullable = true, length = 64)
private String personalEmail;
...居然有數據截斷錯誤,如果personalEmail超過64個字符。
我個人認爲保留這樣的註釋是一種不好的做法。我認爲我們不必通過數據庫實體元信息破壞我們的代碼。
我的方法是我將刪除長度和可爲空的註釋名稱,並讓DB在任何違反約束的情況下通知。
我認爲只保留這種類型的註釋的優點是它不會傳播錯誤的數據到數據庫級別。
我想知道您的建議......
反正我會改變列寬personalEmail在DB。
實際上,這取決於您是否通過休眠或不休眠來創建數據庫模式。如果沒有,那麼在註釋中沒有任何優勢(除了可能用於信息目的)。 – Kayaman
我正在考慮改變約束,而運行時不應該這樣做。 http://dba.stackexchange.com/questions/27153/alter-table-on-live-production-databases –
對不起,我真的不明白你在說什麼。 – Kayaman