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

SpringBoot中JPA更新時(shí)部分字段無效

 更新時(shí)間:2023年04月12日 09:34:35   作者:此間碼農(nóng)  
本文主要介紹了SpringBoot中JPA更新時(shí)部分字段無效,在通過注解自動(dòng)更新時(shí),部分字段在調(diào)試時(shí)可以找到,卻沒有被自動(dòng)更新到數(shù)據(jù)庫中,下面就介紹一下解決方法

最近用JPA寫業(yè)務(wù)代碼,發(fā)現(xiàn)了一個(gè)奇怪的bug,在通過注解自動(dòng)更新時(shí),部分字段在調(diào)試時(shí)可以找到,卻沒有被自動(dòng)更新到數(shù)據(jù)庫中。

相關(guān)源碼

實(shí)體類定義

@Table(name = "t_workspace")
@Entity
@DynamicInsert
@DynamicUpdate
@org.hibernate.annotations.Table(appliesTo = "t_workspace", comment = "工作空間表")
public class WorkSpaceEntity extends BaseEntity {


    @Column(columnDefinition = "TEXT COMMENT '模型圖結(jié)構(gòu)' ")
    private String mxGraphModel;

    @Convert(converter = ModelDataConver.class)
    @Column(columnDefinition = "mediumtext comment '存儲(chǔ)模型數(shù)據(jù)集'")
    private ModelData modelData;
}

相關(guān)業(yè)務(wù)語句如下,用于更新mxGraphModelmodelData

workSpace.setMxGraphModel(newEntity.getMxGraphModel());
workSpace.setModelData(newEntity.getModelData());

但實(shí)際執(zhí)行的SQL語句如下

Hibernate: update t_workspace set wupdated_at=?, wmx_graph_model=? where wid=?

@DynamicUpdate適用屬性

如上所示,使用注解@DynamicUpdate自動(dòng)更新,但是該注解只能自動(dòng)更新實(shí)體屬性。而實(shí)體屬性是指JPA認(rèn)定的基本數(shù)據(jù)類型以及關(guān)聯(lián)類型屬性。另外,如果實(shí)體類中存在一些計(jì)算屬性或者需要在插入或更新時(shí)設(shè)置默認(rèn)值的屬性,那么這些屬性可能會(huì)被忽略,導(dǎo)致出現(xiàn)數(shù)據(jù)不一致的情況。

計(jì)算屬性

實(shí)體類中的計(jì)算屬性指的是,這些屬性的值是根據(jù)其他屬性計(jì)算得出的,而不是從數(shù)據(jù)庫中直接獲取的。例如,訂單實(shí)體類中的總金額屬性,可能是根據(jù)訂單項(xiàng)的數(shù)量和單價(jià)計(jì)算得出的,而不是從數(shù)據(jù)庫中直接獲取的。

插入或更新時(shí)設(shè)置默認(rèn)值

需要在插入或更新時(shí)設(shè)置默認(rèn)值的屬性,指的是這些屬性在插入或更新時(shí)需要設(shè)置默認(rèn)值,例如創(chuàng)建時(shí)間、更新時(shí)間、是否刪除等屬性。

這些屬性有以下特點(diǎn):

  • 與數(shù)據(jù)庫表中的字段不一一對(duì)應(yīng),可能通過計(jì)算或者默認(rèn)值生成。
  • 在讀取或者寫入數(shù)據(jù)庫時(shí),需要特殊處理,以保證其值的正確性。
  • 在使用動(dòng)態(tài) SQL 語句生成注解時(shí),需要特殊處理,以避免生成不必要的 SQL 語句。

JPA基本數(shù)據(jù)類型

基本類型指的是 Java 中的基本數(shù)據(jù)類型,包括 byte、short、int、long、float、double、char、boolean 等。在 JPA 中,除了基本數(shù)據(jù)類型之外,還包括一些 Java 類型,例如 String、java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp 等。

關(guān)聯(lián)類型屬性

通過@OneToOne、@OneToMany、@ManyToOne、@ManyToMany注解的屬性

綜上

ModelData屬于自定義類,作為JPA的三等公民,沒有被優(yōu)待的權(quán)利。而JPA中對(duì)象即表的概念展現(xiàn)得淋漓盡致。

到此這篇關(guān)于SpringBoot中JPA更新時(shí)部分字段無效的文章就介紹到這了,更多相關(guān)JPA更新時(shí)部分字段無效內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用Log4j將不同Package的日志輸出到不同文件的方法

    利用Log4j將不同Package的日志輸出到不同文件的方法

    日志是應(yīng)用軟件中不可缺少的部分,Apache的開源項(xiàng)目log4j是一個(gè)功能強(qiáng)大的日志組件,提供方便的日志記錄。這篇文章主要介紹了利用Log4j將不同Package的日志輸出到不同文件的方法,需要的朋友可以參考借鑒,下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-01-01
  • 如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流

    如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流

    這篇文章主要介紹了如何將字符串、字節(jié)數(shù)組轉(zhuǎn)為輸入流問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • SpringAnimation 實(shí)現(xiàn)菜單從頂部彈出從底部消失動(dòng)畫效果

    SpringAnimation 實(shí)現(xiàn)菜單從頂部彈出從底部消失動(dòng)畫效果

    最近做項(xiàng)目遇到這樣一個(gè)需求,要求實(shí)現(xiàn)一種菜單,菜單從頂部彈入,然后從底部消失,頂部彈入時(shí),有一個(gè)上下抖動(dòng)的過程,底部消失時(shí),先向上滑動(dòng),然后再向下滑動(dòng)消失。下面給大家?guī)砹藢?shí)現(xiàn)代碼,感興趣的朋友一起看看吧
    2018-05-05
  • MAC下基于maven使用IDEA走讀TestNG源碼解析

    MAC下基于maven使用IDEA走讀TestNG源碼解析

    這篇文章主要介紹了MAC下基于maven使用IDEA走讀TestNG源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-06-06
  • springboot連接kafka集群的使用示例

    springboot連接kafka集群的使用示例

    在項(xiàng)目中使用kafka的場(chǎng)景有很多,尤其是實(shí)時(shí)產(chǎn)生的數(shù)據(jù)流,本文主要介紹了springboot連接kafka集群的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Java的Struts框架中<results>標(biāo)簽的使用方法

    Java的Struts框架中<results>標(biāo)簽的使用方法

    這篇文章主要介紹了Java的Struts框架中<results>標(biāo)簽的使用方法,Struts框架是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-11-11
  • 創(chuàng)建并運(yùn)行一個(gè)java線程方法介紹

    創(chuàng)建并運(yùn)行一個(gè)java線程方法介紹

    這篇文章主要介紹了創(chuàng)建并運(yùn)行一個(gè)java線程,涉及線程代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot使用注解進(jìn)行分頁的實(shí)現(xiàn)示例

    SpringBoot使用注解進(jìn)行分頁的實(shí)現(xiàn)示例

    分頁使用可以說非常普遍了,有時(shí)候會(huì)需要非常靈活的方式去開啟或關(guān)閉分頁,嘗試使用一下注解的方式來進(jìn)行分頁,本文主要介紹了SpringBoot使用注解進(jìn)行分頁的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • nacos在mac上部署提示找不到或無法加載主類的解決

    nacos在mac上部署提示找不到或無法加載主類的解決

    這篇文章主要介紹了nacos在mac上部署提示找不到或無法加載主類的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • java多線程實(shí)現(xiàn)下載圖片并壓縮

    java多線程實(shí)現(xiàn)下載圖片并壓縮

    這篇文章主要為大家詳細(xì)介紹了java多線程實(shí)現(xiàn)下載圖片并壓縮,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評(píng)論

通许县| 瑞丽市| 仲巴县| 务川| 德钦县| 葵青区| 阿坝| 黎川县| 石屏县| 嵩明县| 滨海县| 静安区| 集贤县| 东平县| 蓬溪县| 中西区| 马公市| 大石桥市| 天台县| 平遥县| 乌苏市| 湘西| 宁津县| 当阳市| 福建省| 涿州市| 滦南县| 宣威市| 平阳县| 闽侯县| 吉木萨尔县| 泗水县| 厦门市| 台江县| 广饶县| 大城县| 探索| 吴堡县| 理塘县| 隆回县| 枞阳县|