Spring Data JPA 設置字段默認值方式
Spring Data JPA設置字段默認值
在Column註解中寫入以下兩個屬性,為什麼自己查一下文檔吧,即可實現字段默認值設置,並順帶解決save方法所生成的sql語句中自動填充字段為null的問題。
默認值無法更新,所以如果想在代碼裡修改字段默認值,你需要重新建表。
@Column(insertable = false,columnDefinition = "int default 1") private Integer sex; @Column(insertable = false,columnDefinition = "decimal(19,2) DEFAULT 0.00") private BigDecimal accountBalance;//賬戶餘額
columnDefinition = “相當於數據庫的creter table DDL 語句”
CREATE TABLE `account_info` ( `id` int(11) NOT NULL AUTO_INCREMENT, 。。。 。。。 `account_balance` decimal(19,2) DEFAULT '0.00', 。。。 。。。 PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
Spring Data JPA設置字段默認值失敗
jpa註解設置默認值用到的註解是@Column。但有一個問題就是,如果你已經建立好瞭表,然後在加上@Column(insertable = false,columnDefinition = “int default 1”)是沒有用,因為這個註解隻有在建表時才會起作用,也就是說,如果DB中表已經建好,該屬性沒有必要使用
@Column(columnDefinition=“int default 1”,nullable=false) private int number;
所以最好是在save()或者update()寫入時增加邏輯操作
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- JPA設置默認字段及其長度詳解
- jpa 使用@Column來定義字段類型
- 記錄一個使用Spring Data JPA設置默認值的問題
- 搭建簡單的Spring-Data JPA項目
- MySQL幾種更新操作的案例分析