您好,登錄后才能下訂單哦!
這篇文章主要介紹“JPA默認值設置沒有效果怎么解決”,在日常操作中,相信很多人在JPA默認值設置沒有效果怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JPA默認值設置沒有效果怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
springboot項目的JPA數據庫表的類添加默認值,有2種方法
1、@Column(columnDefinition = "varchar(35) default ‘12345‘ ")
2、@ColumnDefault(“12345”)
要求:設置img字段默認值為/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>
映射類
@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; }
數據庫設計表字段
只有studyBegin默認值設置為0,img的默認值設置不成功。
把
@ColumnDefault("/imgs/defunct.png")
改為
@Column(columnDefinition = “varchar(255) default ‘/imgs/defunct.png'”)
效果
在使用JPA時,如果需要為屬性設置默認值,很自然的,你可能會想到用下面的方式。
@Column(name="state",columnDefinition="tinyint default 0") private Integer state=0;
但很不幸的是,這種方案有時候并不可行,原因在于columnDefinition是在創建表的時候使用的,如果你的表不是自動生成的。
那我們又需要為屬性添加默認值,該怎么辦呢,其實很簡單,就直接為屬性賦值就可以了。
private Integer state=0;
到此,關于“JPA默認值設置沒有效果怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。