@ResponseBody返回實體錯誤解決

前提 :
使用Hibernate註解配置實體關聯 , 例如 : 

Class IDCard{

    private String number;

    @OneToOne
    private Student student;

    // getter setter 
}

使用SpringMVC的@ResponseBody註解返回頁面時 , 報類似如下的錯 :

getOutputStream( ),has already been called...blabla

原因
SpringMVC會自動將實體類JSON化 , 而有些關聯實體在JSON化的時候由於又有其他關聯實體 , 導致錯誤 .


簡單解決
由於多數情況下 , 我們不需要返回頁面實體的關聯對象 , 所以在關聯對象時加入如下註解即可解決 :

@JsonIgnore // 轉換Json時自動忽略該對象
@OneToOne
private Student student;

發佈了74 篇原創文章 · 獲贊 40 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章