Я пытаюсь запросить список клиентов как json из контроллера весны. когда я обращаюсь к url, я могу получить список без ошибок.HTTP Status 500 - не удалось лениво инициализировать коллекцию роли: ..., не удалось инициализировать прокси-сервер - нет Сессия
-CustomerController
@RequestMapping("getCustomerListRB")
public @ResponseBody List<Customer> getCustomerListsRB() {
List<Customer> cusList = new ArrayList<Customer>();
cusList = cusService.getList();
return cusList;
}
, но когда я пытаюсь соединить таблицу в модели клиента -Customer.java
@OneToMany(mappedBy = "Customer", cascade = CascadeType.ALL)
private List<MainOrder> MainOrder;
public List<MainOrder> getMainOrder() {
return MainOrder;
}
public void setMainOrder(List<MainOrder> mainOrder) {
MainOrder = mainOrder;
}
запустить сервер снова есть ошибка, как ниже:
org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: failed to lazily initialize a collection of role: com.mdr.model.Customer.mainOrders, could not initialize proxy - no Session (through reference chain: java.util.ArrayList[0]->com.mdr.model.Customer["mainOrders"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: failed to lazily initialize a collection of role: com.mdr.model.Customer.mainOrders, could not initialize proxy - no Session (through reference chain: java.util.ArrayList[0]->com.mdr.model.Customer["mainOrders"])
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter.writeInternal(MappingJackson2HttpMessageConverter.java:256)
org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:208)
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:143)
org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:89)
org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:193)
org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:71)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:122)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
После добавления fetch = FetchType.EAGER, как показано ниже
@OneToMany(mappedBy = "Customer", cascade = CascadeType.ALL,fetch = FetchType.EAGER)
Я запускаю сервер снова, у него нет ошибки, но невозможно получить данные. пожалуйста помогите !
добавить @Transactional на «Список getCustomerListsRB 'и измените что-нибудь такое же, но оно все равно ошибка –
Опубликуйте stacktrace после добавления @Transactional, пожалуйста. –
Извините, что такое stacktrace? –