jacksonjava轉jsonhibernate造成的堆疊溢位無限遞迴問題
controller 返回 geometry 欄位報錯
Infinite recursion (StackOverflowError)
(through reference chain: com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]-
>com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygo
n[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon
[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon
[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope
“]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsol
utions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->com.vividsolutions.jts.geom.Polygon[“envelope”]->
三月 19, 2017 2:27:06 下午 org.apache.catalina.core.ApplicationDispatcher invoke
@JsonIgnore
@JSONField(serialize=false,deserialize=false)
@Type(type = “org.hibernate.spatial.GeometryType”)
@Column(name = “Shape”,columnDefinition=”Geometry”)
private Polygon Shape;
/**
* Shape()
* wkt格式
*/
@Transient
private String wktShape;
@JsonIgnore
public Polygon getShape() {
return Shape;
}
@JsonIgnore
public void setShape(Polygon shape) {
Shape = shape;
}
public String getWktShape() {
return Shape.toText();
}
public void setWktShape(String wktShape) {
this.wktShape = wktShape;
}
注 :(1)get set 方法上面的 @JsonIgnore用於返回大寫字母的欄位,防止被轉小寫,可與欄位上面的@JsonProperty組合
WARN o.s.w.s.h.SimpleMappingExceptionResolver – Handler execution resulted in exception: Could not write content:
嚴重: Servlet.service() for servlet jsp threw exception
原因:jackson java轉json hibernate 造成的堆疊溢位 無限遞迴問題
解決方法
思路:遮蔽geometry 欄位輸出,重新定義一個欄位獲取 上一個geometry欄位的wkt格式字串
程式碼:如我需要輸出shape欄位為geometry格式
(1)則在弄一個wktShape欄位作為代替輸出
(2)欄位上面的@JsonIgnorey用於前端返回json的時候遮蔽輸出欄位
相關文章
- Java解決遞迴造成的堆疊溢位問題Java遞迴
- Javascript中遞迴造成的堆疊溢位及解決方案JavaScript遞迴
- 如何解決快應用堆疊溢位問題
- StackOverflowError堆疊溢位錯誤Error
- IE11下javascript報堆疊溢位問題的解決IE11JavaScript
- 堆疊溢位報錯引發的思考
- ThinkPHP 無限遞迴PHP遞迴
- win10黑屏了堆疊溢位怎麼辦_win10系統黑屏提示堆疊溢位解決教程Win10
- Java無限迴圈問題Java
- 無限遞迴導致StackOverflowError遞迴Error
- sql無限遞迴查詢SQL遞迴
- iview Tree資料格式問題,無限遞迴樹處理資料View遞迴
- 【RTOS】FreeRTOS中的任務堆疊溢位檢測機制
- php 無限分類遞迴 和 無限分類引入 的效能差距PHP遞迴
- Vue專案中出現:Maximum call stack size exceeded(堆疊溢位)Vue
- PHP無限遞迴選單的實現流程PHP遞迴
- 阿里大佬講解Java記憶體溢位示例(堆溢位、棧溢位)阿里Java記憶體溢位
- 彙編中引數的傳遞和堆疊修正(轉)
- css 盒子溢位問題CSS
- 記憶體溢位的問題記憶體溢位
- 堆溢位學習筆記筆記
- 堆溢位之OverlappingAPP
- 神坑·Python 裝飾類無限遞迴Python遞迴
- Ztree + PHP 無限級節點遞迴查詢PHP遞迴
- PHP無限級分類的實現(不使用遞迴)PHP遞迴
- 樹遞迴問題的求解遞迴
- 記憶體溢位問題記憶體溢位
- 理解 vue-router的beforeEach無限迴圈的問題Vue
- Linux kernel 堆溢位利用方法Linux
- 尾遞迴 - 杜絕記憶體洩漏溢位爆棧遞迴記憶體
- return new物件造成溢位記憶體物件記憶體
- 遞迴路徑問題遞迴
- 如何利用執行緒堆疊定位問題執行緒
- 揹包問題的遞迴與非遞迴演算法遞迴演算法
- CSS解決文字溢位問題CSS
- 自己挖的坑自己填--jxl進行Excel下載堆記憶體溢位問題Excel記憶體溢位
- php利用遞迴函式實現無限級分類PHP遞迴函式
- 原:八皇后問題的遞迴和非遞迴Java實現遞迴Java