mybatis懶加載 responsebody json序列化時候的異常

mybatis開啓懶加載後,返回bean爲json時,出現以下異常java

10:29:47.016 [http-apr-8088-exec-10] WARN  o.s.w.s.m.s.DefaultHandlerExceptionResolver - 
Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: 
Could not write content:
No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer 
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) )

 

網上兩種處理意見spring

1 繼承ObjectMapper 設置屬性爲 SerializationFeature.FAIL_ON_EMPTY_BEANS 爲false。 apache

2 在須要轉json的實體類上加 @JsonInclude(JsonInclude.Include.NON_EMPTY)json

第二種方案有一個弊端 ,好比實體類中,存在一個integer爲0 ,則json就不轉化了mybatis

查找發現 對於hibeante有一種處理方式app

@JsonIgnoreProperties(value={「hibernateLazyInitializer」,」handler})hibernate

我認爲 mybatis也應該能夠有相似hibernate的處理方式debug

可是網上沒有找到代理

debug觀察須要處理的bean,發現多了一個屬性code

應該是懶加載時候一個代理

嘗試在轉換時 忽略他@JsonIgnoreProperties(value = {"javassistProxyFactory", "handler"})

搞定

相關文章
相關標籤/搜索