在使用SpringMVC+Hibernate環境中返回JSON數據有時會出現以下錯誤:Handler execution resulted in exception: Could not write content: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain:.................cn.harmel.lms.system.domain.XXX_$$_jvst988_0["handler"])java
還有...........cn.harmel.lms.system.domain.XXX_$$_jvst988_0["hibernateLazyInitializer"])dom
這是由於你須要序列化對象有一個屬性是一類類型,而你使用了Hibernate的延遲加載因此這裏是個Hibernate的代理對象。該代理對象有些屬性不能被序列化因此會報錯。hibernate
解決辦法:在類型上加以下註解把不須要序列化的屬性屏蔽掉代理
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })