激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - @OneToMany查詢陷入循環引用的解決方案

@OneToMany查詢陷入循環引用的解決方案

2022-02-22 13:09H_Dsheng Java教程

這篇文章主要介紹了@OneToMany查詢陷入循環引用的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

 

@OneToMany查詢陷入循環引用問題

 

問題報錯如下

@OneToMany查詢陷入循環引用的解決方案

@OneToMany查詢陷入循環引用的解決方案

主要信息為:

wrapping Result set representing update count of 4>

以及:

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

原本配置:

@OneToMany查詢陷入循環引用的解決方案 @OneToMany查詢陷入循環引用的解決方案

報錯原因是兩個類都使用了急加載的方式,就會導致一直查找外鍵的實體類而陷入循環,從而報錯。

 

解決方案:按需改為LAZY即可

@OneToMany( fetch = FetchType.LAZY)

success result:

@OneToMany查詢陷入循環引用的解決方案

 

JPA@OneTOMany查詢在ruturn的時候出現錯誤

 

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

在controller返回數據到統一json轉換的時候,出現了json infinite recursion stackoverflowerror的錯誤,即json在將對象轉換為json格式的數據的時候,出現了無限遞歸調用的情況。

 

具體的情況如下

A類中,有個屬性:List<B> b, A與B的關系為 OneToMany;在B類中,有屬性A a,引用到A中的字段id,并作為外鍵。hibernate查詢結果正常,可以看到返回的A對象中,有b參數值,但在json轉換的時候就出現了無限遞歸的情況。

個人分析,應該是json在序列化A中的b屬性的時候,找到了B類,然后序列化B類,而B類中有a屬性,因此,為了序列化a屬性,json又得去序列化A類,如此遞歸反復,造成該問題。

同時值得注意的是必須重寫其中一個類toString方法,去除其中另一個類的內容,否則也會造成無限遞歸的產生。

 

解決

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

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/H_Dsheng/article/details/110790079

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧洲伊人网 | 中文字幕h | 嗯哈~不行好大h双性 | av电影在线观看网站 | 婷婷久久久久久 | 热99视频| 九九热视频这里只有精品 | 99久久久国产精品免费观看 | 不卡国产一区二区三区四区 | 免费视频爱爱太爽了 | 久久免费视频在线 | cosplay裸体福利写真 | 毛片大全免费 | 日本欧美一区二区三区在线观看 | 欧美日韩大片在线观看 | 免费国产在线视频 | 草莓福利视频在线观看 | 国产日产精品一区四区介绍 | 国产精品久久久久久久不卡 | 欧美性受ⅹ╳╳╳黑人a性爽 | 高清在线国产 | 91快色视频 | 九九热九九热 | 成人精品一区二区 | 欧美成人免费在线视频 | 在线观看一区二区三区四区 | 黄色大片高清 | 一区二区三区在线观看视频 | 国产一级免费在线视频 | 巨乳激情 | 激情免费视频 | 久久精品成人影院 | 毛片免费看电影 | 欧美一极视频 | free japan xxxxhdsex69| 欧美综合在线观看视频 | 国产乱淫a∨片免费观看 | 国产一级毛片国语版 | 精品一二三区视频 | 成人毛片网站 | 一级在线观看 |