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

@OneToMany查詢陷入循環(huán)引用的解決方案

 更新時(shí)間:2021年10月19日 08:44:53   作者:H_Dsheng  
這篇文章主要介紹了@OneToMany查詢陷入循環(huán)引用的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@OneToMany查詢陷入循環(huán)引用問(wèn)題

問(wèn)題報(bào)錯(cuò)如下

在這里插入圖片描述

在這里插入圖片描述

主要信息為:

wrapping Result set representing update count of 4>

以及:

exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

原本配置:

在這里插入圖片描述 在這里插入圖片描述

報(bào)錯(cuò)原因是兩個(gè)類都使用了急加載的方式,就會(huì)導(dǎo)致一直查找外鍵的實(shí)體類而陷入循環(huán),從而報(bào)錯(cuò)。

解決方案:按需改為L(zhǎng)AZY即可

@OneToMany( fetch = FetchType.LAZY)

success result:

在這里插入圖片描述

JPA@OneTOMany查詢?cè)趓uturn的時(shí)候出現(xiàn)錯(cuò)誤

java.lang.IllegalStateException原因和解決方法

在controller返回?cái)?shù)據(jù)到統(tǒng)一json轉(zhuǎn)換的時(shí)候,出現(xiàn)了json infinite recursion stackoverflowerror的錯(cuò)誤,即json在將對(duì)象轉(zhuǎn)換為json格式的數(shù)據(jù)的時(shí)候,出現(xiàn)了無(wú)限遞歸調(diào)用的情況。

具體的情況如下

A類中,有個(gè)屬性:List<B> b, A與B的關(guān)系為 OneToMany;在B類中,有屬性A a,引用到A中的字段id,并作為外鍵。hibernate查詢結(jié)果正常,可以看到返回的A對(duì)象中,有b參數(shù)值,但在json轉(zhuǎn)換的時(shí)候就出現(xiàn)了無(wú)限遞歸的情況。

個(gè)人分析,應(yīng)該是json在序列化A中的b屬性的時(shí)候,找到了B類,然后序列化B類,而B類中有a屬性,因此,為了序列化a屬性,json又得去序列化A類,如此遞歸反復(fù),造成該問(wèn)題。

同時(shí)值得注意的是必須重寫其中一個(gè)類toString方法,去除其中另一個(gè)類的內(nèi)容,否則也會(huì)造成無(wú)限遞歸的產(chǎn)生。

解決

在B類中a的getter setter方法上加注解@JsonBackReference,只在setter方法上加@JsonBackReference也夠了。

如果是使用lombok注解,可以直接在B類的a字段上添加注解@JsonBackReference

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

相關(guān)文章

  • java使用ArrayList實(shí)現(xiàn)斗地主(無(wú)序版)

    java使用ArrayList實(shí)現(xiàn)斗地主(無(wú)序版)

    這篇文章主要為大家詳細(xì)介紹了java使用ArrayList實(shí)現(xiàn)斗地主,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • Matlab及Java實(shí)現(xiàn)小時(shí)鐘效果

    Matlab及Java實(shí)現(xiàn)小時(shí)鐘效果

    這篇文章主要為大家詳細(xì)介紹了Matlab及Java實(shí)現(xiàn)小時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Centos中安裝jdk案例講解

    Centos中安裝jdk案例講解

    這篇文章主要介紹了Centos中安裝jdk案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Spring多線程事務(wù)處理解決方案

    Spring多線程事務(wù)處理解決方案

    這篇文章主要介紹了Spring多線程事務(wù)處理,本文主要介紹了spring多線程事務(wù)的解決方案,心急的小伙伴可以跳過(guò)上面的理論介紹分析部分直接看最終解決方案,需要的朋友可以參考下
    2024-03-03
  • Java中分割字符串的兩種方法實(shí)例詳解

    Java中分割字符串的兩種方法實(shí)例詳解

    這篇文章主要介紹了Java中分割字符串的兩種方法,一種是java.lang.String 的 split() 方法,,另外一種是用String Tokenizer類。文中的每種方法都給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。
    2016-12-12
  • Java實(shí)現(xiàn)操作excel表格

    Java實(shí)現(xiàn)操作excel表格

    在日常工作中,對(duì)Excel工作表格的操作處理可是多的數(shù)不清楚,下面是java語(yǔ)言對(duì)其的操作,有需要的小伙伴可以參考下
    2015-10-10
  • 用Java驗(yàn)證pdf文件的電子章簽名

    用Java驗(yàn)證pdf文件的電子章簽名

    這篇文章主要介紹了如何用Java驗(yàn)證pdf文件的電子章簽名,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-12-12
  • java中javaBean與Bean的深入理解

    java中javaBean與Bean的深入理解

    這篇文章主要介紹了java中javaBean與Bean的深入理解的相關(guān)資料,這里說(shuō)明他們的優(yōu)點(diǎn)及使用方法,需要的朋友可以參考下
    2017-08-08
  • springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能

    springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能

    這篇文章主要為大家詳細(xì)介紹了springmvc實(shí)現(xiàn)跨服務(wù)器文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java安全后端返回文件流方式

    Java安全后端返回文件流方式

    這篇文章主要介紹了Java安全后端返回文件流方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

游戏| 岳西县| 宜春市| 宝坻区| 胶南市| 玉林市| 康定县| 宜昌市| 汝城县| 西昌市| 舞钢市| 公主岭市| 颍上县| 扶沟县| 永新县| 呼和浩特市| 行唐县| 营山县| 邹平县| 正镶白旗| 于都县| 神池县| 理塘县| 鲁山县| 芮城县| 沙洋县| 航空| 嘉鱼县| 侯马市| 惠来县| 沙田区| 小金县| 肇州县| 洞口县| 木里| 辽宁省| 新化县| 时尚| 临颍县| 博罗县| 东乡|