JPA默認(rèn)值設(shè)置沒(méi)有效果的解決
問(wèn)題:默認(rèn)值設(shè)置沒(méi)有效果
springboot項(xiàng)目的JPA數(shù)據(jù)庫(kù)表的類(lèi)添加默認(rèn)值,有2種方法
1、@Column(columnDefinition = "varchar(35) default ‘12345‘ ")
2、@ColumnDefault(“12345”)
要求:設(shè)置img字段默認(rèn)值為/imgs/defunct.png
依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> </dependency>
映射類(lèi)
@Data @NoArgsConstructor @AllArgsConstructor @DynamicInsert @DynamicUpdate @Entity(name = "tbl_user") public class UserInfo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @ColumnDefault("\\imgs\\defunct.png") private String img; @ColumnDefault("0") private Integer studyBegin; }
數(shù)據(jù)庫(kù)設(shè)計(jì)表字段
只有studyBegin默認(rèn)值設(shè)置為0,img的默認(rèn)值設(shè)置不成功。
解決辦法
把
@ColumnDefault("/imgs/defunct.png")
改為
@Column(columnDefinition = “varchar(255) default ‘/imgs/defunct.png'”)
效果
JPA為字段設(shè)置默認(rèn)值
在使用JPA時(shí),如果需要為屬性設(shè)置默認(rèn)值,很自然的,你可能會(huì)想到用下面的方式。
@Column(name="state",columnDefinition="tinyint default 0") private Integer state=0;
但很不幸的是,這種方案有時(shí)候并不可行,原因在于columnDefinition是在創(chuàng)建表的時(shí)候使用的,如果你的表不是自動(dòng)生成的。
那我們又需要為屬性添加默認(rèn)值,該怎么辦呢,其實(shí)很簡(jiǎn)單,就直接為屬性賦值就可以了。
private Integer state=0;
有時(shí)候,看起來(lái)很復(fù)雜的問(wèn)題,其實(shí)換個(gè)角度思考,其實(shí)就會(huì)變得很簡(jiǎn)單。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?Cloud?Sleuth?和?Zipkin?進(jìn)行分布式跟蹤使用小結(jié)
分布式跟蹤是一種機(jī)制,我們可以使用它跟蹤整個(gè)分布式系統(tǒng)中的特定請(qǐng)求,分布式跟蹤允許您跟蹤分布式系統(tǒng)中的請(qǐng)求,本文給大家介紹Spring?Cloud?Sleuth?和?Zipkin?進(jìn)行分布式跟蹤使用小結(jié),感興趣的朋友一起看看吧2022-03-03SpringBoot的DeferredResult案例:DeferredResult的超時(shí)處理方式
這篇文章主要介紹了SpringBoot的DeferredResult案例:DeferredResult的超時(shí)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01一篇文章教你使用SpringBoot如何實(shí)現(xiàn)定時(shí)任務(wù)
這篇文章主要給大家介紹了關(guān)于如何利用一篇文章教你使用SpringBoot實(shí)現(xiàn)定時(shí)任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Java實(shí)現(xiàn)Redis分布式鎖的三種方案匯總
setnx、Redisson、RedLock?都可以實(shí)現(xiàn)分布式鎖,從易到難得排序?yàn)椋簊etnx?<?Redisson?<?RedLock,本文為大家整理了三種方法的實(shí)現(xiàn),希望對(duì)大家有所幫助2023-11-11使用IDEA搭建一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目超詳細(xì)過(guò)程
這篇文章主要介紹了使用IDEA搭建一個(gè)簡(jiǎn)單的SpringBoot項(xiàng)目超詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02springboot使用外置tomcat啟動(dòng)方式
這篇文章主要介紹了springboot使用外置tomcat啟動(dòng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11java利用Socket實(shí)現(xiàn)聊天室功能實(shí)例
這篇文章主要介紹了java利用Socket實(shí)現(xiàn)聊天室功能實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02Java后臺(tái)基于POST獲取JSON格式數(shù)據(jù)
這篇文章主要介紹了Java后臺(tái)基于POST獲取JSON格式數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03