通常,当您从事务中调用实体类的getter方法(返回关系对象)时,会得到
LazyInitializationExceptions。
如果您将实体类对象(从查询中检索)转换 为事务外的 json , 则可能是这种情况 。
我遇到了同样的问题,我在控制器中将通过hibernate获取的实体对象转换为json。由于控制器已退出事务处理(服务层的事务处理),因此在转换为json时,将调用实体类对象的getter方法,并且得到了
LazyInitializationException。哪个阻碍了对象到json的转换,并且没有返回响应。
我的解决方案,试试这个:
@SuppressWarnings("unchecked")@RequestMapping( method = RequestMethod.GET )public @ResponseBody List<Book> getBook() { List<Book> res = bookService.findAll(); for(Book book : res) { book.getAuthor().setBooks(null); } return res;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)