最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

記錄一個使用Spring?Data?JPA設(shè)置默認(rèn)值的問題

 更新時間:2021年11月23日 11:40:31   作者:qq_34785454  
這篇文章主要介紹了使用Spring?Data?JPA設(shè)置默認(rèn)值的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring Data JPA設(shè)置默認(rèn)值的問題

我有一個entity實體,其中里面有一個布爾類型的字段:

//entity table注解略
public class TableEntity { 
    private Boolean b; 
 public Boolean getB() {
        return b;
    }    
    public void setB(Boolean b) {
        this.b= b;
    }
}

然后現(xiàn)在是需要給這個布爾型變量設(shè)默認(rèn)值true

一開始經(jīng)過百度,寫法是這樣的

//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;
    }
}

這個寫法其實應(yīng)該沒什么問題,當(dāng)時的數(shù)據(jù)庫是sql server,但是在換環(huán)境部署,切換到MySQL的時候出了問題,被懷疑是我這里寫的問題(其實我總感覺應(yīng)該沒什么關(guā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() {
        return b;
    }    
    public void setB(Boolean b) {
        this.b= b;
    }
}

直接把私有屬性值賦值,這也是通過百度之后,有部分文章說的一種方法,至于type那個注解,就是把布爾型變量在數(shù)據(jù)庫中通過字符型變量來存儲,存儲"Y"或者"N"。

但是這個寫法,工程跑起來之后還是有問題的,存不上默認(rè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進(jìn)行保存的時候框架內(nèi)部會自己調(diào)用get/set方法來進(jìn)行屬性賦值和取值,所以直接在get/set方法進(jìn)行默認(rèn)值的賦值就可以了。

實際測試效果拔群。

Jpa設(shè)置默認(rèn)值約束

使用SpringDataJpa設(shè)置字段的默認(rèn)值約束的2種方式

1、修改建表時的列定義屬性

@Column(columnDefinition="INT DEFAULT '1'")
private Integer status;

2、通過Hibernate(org.hibernate.annotations.ColumnDefault)

下提供的注解進(jìn)行設(shè)置默認(rèn)值

@ColumnDefault("1")
private Integer status;

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java多線程下的其他組件之CyclicBarrier、Callable、Future和FutureTask詳解

    Java多線程下的其他組件之CyclicBarrier、Callable、Future和FutureTask詳解

    這篇文章主要介紹了Java多線程下的其他組件之CyclicBarrier、Callable、Future和FutureTask詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • SpringBoot 多數(shù)據(jù)源及事務(wù)解決方案小結(jié)

    SpringBoot 多數(shù)據(jù)源及事務(wù)解決方案小結(jié)

    本文主要介紹了多數(shù)據(jù)源管理的解決方案(應(yīng)用層事務(wù),而非XA二段提交保證),以及對多個庫同時操作的事務(wù)管理,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Java中int和Integer的區(qū)別

    Java中int和Integer的區(qū)別

    這篇文章主要介紹的是?Java中int和Integer的區(qū)別,Java?是一種強(qiáng)數(shù)據(jù)類型的語言,因此所有的屬性必須有一個數(shù)據(jù)類型,下面文章基于Java詳細(xì)int和Integer有何區(qū)別,需要的朋友可以參考一下
    2021-11-11
  • java 集合之實現(xiàn)類ArrayList和LinkedList的方法

    java 集合之實現(xiàn)類ArrayList和LinkedList的方法

    下面小編就為大家?guī)硪黄猨ava 集合之實現(xiàn)類ArrayList和LinkedList的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • spring配置不掃描service層的原因解答

    spring配置不掃描service層的原因解答

    這篇文章主要介紹了spring配置不掃描service層的原因解答,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Swing常用組件之文本框和文本區(qū)

    Swing常用組件之文本框和文本區(qū)

    這篇文章主要為大家詳細(xì)介紹了Swing常用組件之文本框(JTestField)和文本區(qū)(JTextArea),Swing是一個用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包,本文開始帶大家學(xué)習(xí)Swing
    2016-05-05
  • spring單例如何改多例

    spring單例如何改多例

    這篇文章主要介紹了spring單例如何改多例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • 很詳細(xì)的Log4j配置步驟

    很詳細(xì)的Log4j配置步驟

    Log4J的配置文件(Configuration File)就是用來設(shè)置記錄器的級別、存放器和布局的,它可接key=value格式的設(shè)置或xml格式的設(shè)置信息。通過配置,可以創(chuàng)建出Log4J的運(yùn)行環(huán)境。
    2008-11-11
  • java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):順序隊列和循環(huán)隊列

    java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):順序隊列和循環(huán)隊列

    下面小編就為大家分享一篇java隊列實現(xiàn)方法(順序隊列,循環(huán)隊列),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-08-08
  • 如何通過Java實現(xiàn)加密、解密Word文檔

    如何通過Java實現(xiàn)加密、解密Word文檔

    這篇文章主要介紹了如何通過Java實現(xiàn)加密、解密Word文檔,對一些重要文檔,常需要對文件進(jìn)行加密,查看文件時,需要正確輸入密碼才能打開文件。下面介紹了一種比較簡單的方法給Word文件加密以及如何給已加密的Word文件解除密碼保護(hù),需要的朋友可以參考下
    2019-07-07

最新評論

湖南省| 太白县| 贺兰县| 大足县| 安平县| 武城县| 上高县| 托克逊县| 岳西县| 湘潭县| 大田县| 定襄县| 广宗县| 香港| 岚皋县| 白河县| 明星| 思南县| 土默特右旗| 盈江县| 江川县| 怀集县| 横峰县| 南郑县| 江北区| 桦南县| 裕民县| 黄平县| 汕尾市| 方山县| 庆城县| 于田县| 永仁县| 德惠市| 尉氏县| 习水县| 镇江市| 三都| 视频| 林周县| 彭州市|