SSH+ajax 发生异常org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException

来源:互联网 发布:装修类书籍软件 编辑:程序博客网 时间:2024/05/22 14:57

异常:org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException

原因:需要转换为json的对象中有一个子对象,这个子对象有些属性因为延迟加载的关系,没有初始化,导致框架转JSON报空指针。

解决方法:

1,取消延迟延迟加载 。基本不可取,对性能影响大
2,在service层手动调用get方法,。不可去,道理同上。

3,将po,vo分离,vo用于数据逻辑以及转换为JSON数据,PO做数据持久化处理。

处理VO用于数据逻辑以及转换为JSON数据

//types object;private List<BookType> types=new ArrayList<BookType>();public List<BookType> getTypes() {return types;}public void setTypes(List<BookType> types) {this.types = types;}

@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubList<BookType> list = biz.findBookTypes();// 取出数据for (BookType bookType : list) {// 封装BookType book = new BookType(bookType.getId(),bookType.getTypeName());// 添加到types.add(book);}System.out.println(types);return SUCCESS;}




0 0
原创粉丝点击