Spring Data JPA 設(shè)置字段默認(rèn)值方式
Spring Data JPA設(shè)置字段默認(rèn)值
在Column注解中寫入以下兩個(gè)屬性,為什么自己查一下文檔吧,即可實(shí)現(xiàn)字段默認(rèn)值設(shè)置,并順帶解決save方法所生成的sql語句中自動(dòng)填充字段為null的問題。
默認(rèn)值無法更新,所以如果想在代碼里修改字段默認(rèn)值,你需要重新建表。
@Column(insertable = false,columnDefinition = "int default 1")
private Integer sex;
@Column(insertable = false,columnDefinition = "decimal(19,2) DEFAULT 0.00")
private BigDecimal accountBalance;//賬戶余額
columnDefinition = “相當(dāng)于數(shù)據(jù)庫的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設(shè)置字段默認(rèn)值失敗
jpa注解設(shè)置默認(rèn)值用到的注解是@Column。但有一個(gè)問題就是,如果你已經(jīng)建立好了表,然后在加上@Column(insertable = false,columnDefinition = “int default 1”)是沒有用,因?yàn)檫@個(gè)注解只有在建表時(shí)才會(huì)起作用,也就是說,如果DB中表已經(jīng)建好,該屬性沒有必要使用
@Column(columnDefinition=“int default 1”,nullable=false) private int number;
所以最好是在save()或者update()寫入時(shí)增加邏輯操作
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Windows下后端如何啟動(dòng)SpringBoot的Jar項(xiàng)目
這篇文章主要介紹了Windows下后端如何啟動(dòng)SpringBoot的Jar項(xiàng)目問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
java的MybatisPlus調(diào)用儲(chǔ)存過程的返回?cái)?shù)據(jù)問題
這篇文章主要介紹了java的MybatisPlus調(diào)用儲(chǔ)存過程的返回?cái)?shù)據(jù)問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
java.lang.IncompatibleClassChangeError異常的問題解決
本文主要介紹了java.lang.IncompatibleClassChangeError異常的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06
Netty之使用DelimiterBasedFrameDecoder進(jìn)行消息分隔詳解
這篇文章主要介紹了Netty之使用DelimiterBasedFrameDecoder進(jìn)行消息分隔詳解,在使用Netty進(jìn)行TCP消息傳輸時(shí),為了上層協(xié)議能夠?qū)ο⒄_區(qū)分,避免粘包和拆包導(dǎo)致的問題,一般可以通過消息定長、將回車換行符作為消息結(jié)束符,需要的朋友可以參考下2023-12-12

