2016-05-02 22 views
3

我是Spring MVC框架的新手。我正在嘗試使用Hibernate檢索用戶詳細信息以在我的Spring項目中返回對象。我收到以下錯誤:無法寫入HTTP消息:org.springframework.http.converter.HttpMessageNotWritableException:

WARN : org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: 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: com.ppts.mschef.util.api.ApiResponse["object"]->com.ppts.mschef.model.Mischef["user"]->com.ppts.mschef.model.User_$$_jvstb3_6["handler"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: 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: com.ppts.mschef.util.api.ApiResponse["object"]->com.ppts.mschef.model.Mischef["user"]->com.ppts.mschef.model.User_$$_jvstb3_6["handler"])

任何人都可以告訴解決此錯誤?

+0

[在JSON序列懶惰Loadng錯誤]的可能的複製(http://stackoverflow.com/questions/6277439/lazy-loadng-error-in-json-serializer) – soorapadman

回答

1

您的用戶模型是否嵌套子模型?基本上,因爲所有這些模型都是懶加載的,所以你似乎遇到了上面提到的錯誤。您可以通過命名查詢來初始化子對象,並將它們拖到用於解決問題的用戶對象的持久化上下文中。

0

你應該聲明你所有的關係與獲取類型= eager - > fetch = FetchType.EAGER,但是如果你的關係被使用annoptation忽略@JsonIgnore沒有必要這樣做。

例如:

@ManyToOne(fetch = FetchType.EAGER) 
@JoinColumn(name="area_id") 
@NotNull(message = "El campo area no puede ir vacío") 
@JsonView(DataTablesOutput.View.class) 
private Area area; 

@OneToMany(mappedBy = "proceso", cascade = CascadeType.ALL, fetch = FetchType.LAZY) 
@JsonIgnore 
private List<Trabajador> trabajadorList;