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

您的位置:首頁技術文章
文章詳情頁

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

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

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

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 ,經測試,該項配置默認就是true,并且沒有用。

JPA懶加載引起的bug

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

如下圖

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

1:讀取的產品product的實際庫存stock是20,凍結庫存frozenStock是0;

2:減少該產品實際庫存5,凍結庫存+5;

3:重新查詢該產品

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

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

解決:

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

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

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

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 久久精品国产这里是免费 | 久久毛片免费看一区二区三区 | 国产成人免费在线观看 | 尤物在线网站 | 欧美性色黄大片www 欧美性色黄大片一级毛片视频 | 激情免费网站 | 国产极品精频在线观看 | 欧美大片va欧美在线播放 | 97国产视频 | 日本高清久久 | 国产精品人成在线播放新网站 | 免费看国产一级特黄aa大片 | 福利片在线观看免费高清视频 | 高清一区二区三区视频 | 特黄特色视频 | 国产一区二区不卡视频 | 久久99亚洲精品一区二区 | 国产永久视频 | 精品国产福利一区二区在线 | 99国产精品免费视频观看 | 亚洲国产毛片 | 国产日韩欧美91 | 国产网站精品 | 麻豆传媒国产 | 国内国内在线精品视频 | 国产免费jizz在线播放视频 | 中文字幕卡二和卡三的视频 | 国产片翁熄系列乱在线视频 | 精品国产一区二区三区久久 | 亚洲色图 激情小说 | 午夜影院一区二区 | 男女交性粗大视频播放 | 小明精品国产一区二区三区 | 日本中文字幕一区二区 | 中文字幕有码热在线视频 | 一级女人毛片人一女人 | 亚洲大片在线观看 | 成年黄色网址 | 在线观看91 | 伊人色综合久久天天爱 | 啪视频在线观看高清 |