亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁/技術(shù)文章
文章詳情頁

SpringBoot JPA懶加載失效的解決方案(親測有效)

瀏覽:84日期:2023-02-19 18:55:53
SpringBoot JPA懶加載失效

使用springBoot JPA 對兩個實體類進行雙向關(guān)聯(lián),并設(shè)置了懶加載,如下:

SpringBoot JPA懶加載失效的解決方案(親測有效)

然后在查詢后用到了roles,會報錯,

SpringBoot JPA懶加載失效的解決方案(親測有效)

解決辦法如下:

1. 在配置文件中加入:

spring.jpa.properties.hibernate.enable_lazy_load_no_trans =true

2. 如果你是在SpringBoot的測試類 中使用報錯,則在方法上加入@Transactional注解

在百度查詢時發(fā)現(xiàn)有人說 修改該配置: spring.jpa.open-in-view=true ,經(jīng)測試,該項配置默認就是true,并且沒有用。

JPA懶加載引起的bug

自己閑暇用JPA寫了個ORM操作的練習,發(fā)現(xiàn)一個詭異的問題。

如下圖

SpringBoot JPA懶加載失效的解決方案(親測有效)

1:讀取的產(chǎn)品product的實際庫存stock是20,凍結(jié)庫存frozenStock是0;

2:減少該產(chǎn)品實際庫存5,凍結(jié)庫存+5;

3:重新查詢該產(chǎn)品

問題:兩個單元校驗,發(fā)現(xiàn)實際算出來的庫存差值不是5是0!

博主通過查詢商品信息findProductById()方法得到答案。如下圖,調(diào)用方法返回的實體類product的屬性都是null,F(xiàn)7進入調(diào)試才去查詢產(chǎn)品的信息,查完之后才打印產(chǎn)品的名稱,即類的'懶加載'。所以在步驟1之后,步驟2修改了庫存,重新讀取product的庫存已經(jīng)是扣減過的15了。

解決:

在實體類上加上@Proxy(lazy = false)取消懶加載,直截了當(暫時沒想到別的)

SpringBoot JPA懶加載失效的解決方案(親測有效)SpringBoot JPA懶加載失效的解決方案(親測有效)

SpringBoot JPA懶加載失效的解決方案(親測有效)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 国产欧美日韩精品综合 | 精品久久成人免费第三区 | 亚洲乱码国产乱码精品精98 | 欧美ol丝袜高跟秘书在线观看 | 免费一级网站免费 | 欧美一级毛片黄 | 久久精品国产精品亚洲20 | 国产免费高清福利拍拍拍 | 久久久99精品免费观看精品 | 久久国产精品-国产精品 | 国产夫妇精品自在线 | 国产亚洲精品一区999 | 大尺度做爰床戏呻吟免费观看91 | 国产综合日韩伦理 | 久久5| 久久一级黄色片 | 午夜精品久久久久久久久 | 免费视频爱爱太爽在线观看 | 免费观看一级特黄三大片视频 | 国产a级网站 | 欧美一级aa天码毛片 | 免费观看欧美成人禁片 | 黄www.| 色综久久天天综合绕视看 | 国产成人精品高清在线观看99 | 免费看黄在线看 | 91精品一区二区三区在线 | 国产aⅴ一区二区 | 日韩中文字幕免费在线观看 | 色资源在线 | 亚洲精品欧美一区二区三区 | 国内自拍网红在线综合 | 91全国探花精品正在播放 | 中国一级特黄特级毛片 | 国产最新精品精品视频 | 亚洲国产精品久久久久婷婷老年 | 欧美日本一道高清二区三区 | 国产精品久久久久久久免费大片 | 麻豆国产精品视频 | 国产女人一区二区 | 久久精品国内一区二区三区 |