您好,登錄后才能下訂單哦!
本篇內容主要講解“Spring Data JPA怎么設置默認值”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Spring Data JPA怎么設置默認值”吧!
我有一個entity實體,其中里面有一個布爾類型的字段:
//entity table注解略 public class TableEntity { private Boolean b; public Boolean getB() { return b; } public void setB(Boolean b) { this.b= b; } }
然后現在是需要給這個布爾型變量設默認值true
//entity table注解略 public class TableEntity { @Column(name = "b", columnDefinition = "bit default 1", nullable = false) private Boolean b; public Boolean getB() { return b; } public void setB(Boolean b) { this.b= b; } }
這個寫法其實應該沒什么問題,當時的數據庫是sql server,但是在換環境部署,切換到MySQL的時候出了問題,被懷疑是我這里寫的問題(其實我總感覺應該沒什么關系)
//entity table注解略 public class TableEntity { @Column(name = "b", nullable = false) @org.hibernate.annotations.Type(type = "yes_no") private Boolean b = true; public Boolean getB() { return b; } public void setB(Boolean b) { this.b= b; } }
直接把私有屬性值賦值,這也是通過百度之后,有部分文章說的一種方法,至于type那個注解,就是把布爾型變量在數據庫中通過字符型變量來存儲,存儲"Y"或者"N"。
但是這個寫法,工程跑起來之后還是有問題的,存不上默認值,等于白寫。
//entity table注解略 public class TableEntity { @Column(name = "b", nullable = false) @org.hibernate.annotations.Type(type = "yes_no") private Boolean b = true; public Boolean getB() { if(b==null) { return true; } return b; } public void setB(Boolean b) { if(b==null) { return; } this.b= b; } }
大概意思是,在JPA進行保存的時候框架內部會自己調用get/set方法來進行屬性賦值和取值,所以直接在get/set方法進行默認值的賦值就可以了。
實際測試效果拔群。
使用SpringDataJpa設置字段的默認值約束的2種方式
@Column(columnDefinition="INT DEFAULT '1'") private Integer status;
下提供的注解進行設置默認值
@ColumnDefault("1") private Integer status;
到此,相信大家對“Spring Data JPA怎么設置默認值”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。