範例程式: @Column(columnDefinition="boolean default false") public boolean active; @Column(columnDefinition="bigint default -1") public long experience; @Column(columnDefinition="int default 0") public int times; 通常設定預設值寫法用於: 一個已上線DB且可能已有不少舊資料的情形下 因為Web開發時,新增功能頻繁且可能新增欄位時, 會常遇到問題是在建立欄位為int相關或boolean型別, 因為無法指定預設值所以造成jpa建立完欄位值為null, (目前確定是在postgresql遇過這問題,以jpa新建boolean欄位未特別設定時,預設值為null) 以往處理是進資料庫新增欄位並給定預設值, 但若用jpa的columnDefinition就可以不用再透過資料庫修改 參考資料: |