av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

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

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

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

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

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

解決辦法如下:

1. 在配置文件中加入:

spring.jpa.properties.hibernate.enable_lazy_load_no_trans =true

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

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

JPA懶加載引起的bug

自己閑暇用JPA寫了個ORM操作的練習,發現一個詭異的問題。

如下圖

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

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

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

3:重新查詢該產品

問題:兩個單元校驗,發現實際算出來的庫存差值不是5是0!

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

解決:

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

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

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

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 1级黄色片| 日韩色网 | 91视频精品 | 国产精品久久久久久久午夜 | 久久精品福利 | 天天干夜夜草 | 日韩欧美网站 | 亚洲偷偷 | 国产欧美一区二区三区视频在线观看 | 男女无遮挡xx00动态图120秒 | 国产伦精品一区二区三区视频我 | 日日操夜夜撸 | 亚洲天堂网在线观看 | 福利视频网站 | 99超碰在线观看 | 青青视频网 | 亚洲欧美视频 | 97免费在线视频 | 中文字幕在线免费播放 | 国产精品手机在线观看 | 国产精品羞羞答答 | 天天爱综合 | 超碰在线成人 | 欧美亚洲激情 | 亚洲天堂色图 | 国产精品成人免费一区久久羞羞 | 国产黄色录像 | 91免费在线视频 | 色婷婷av一区二区三区之e本道 | 成人福利网 | 精品免费国产 | 玖玖精品视频 | 一本色道久久综合亚洲精品酒店 | 午夜视频在线看 | 日韩欧美网站 | 一区二区免费看 | 九色精品 | 日韩欧美精品一区 | 国产精品国产成人国产三级 | 欧美在线| 中文字幕日韩视频 |