日期:2014-05-16  浏览次数:20403 次

Hibernate查询结果生成json结果无法解析的问题
用hibernate做一个涉及两张表的交叉查询,分别从用户表和员工表中抽取一部分的字段组成结果集,发现服务器发送给前端页面的结果形式如下:
[
  ["dengLuMing":"admin","id":1,"shouQuan":1,"xingMing":"唐僧"],
  ["dengLuMing":"ask","id":2501,"shouQuan":1,"xingMing":"悟空"]
]
查看了json的说明,貌似红色方括号的位置应该是大括号“{}”才对,思考了下,估计是hibernate找不到对应的实体类来存放返回的结果,所以就把所有结果串成一个类似数组类型的东西作为元素给丢进最后的list当中去了。

解决方法:
建立了一个实体类,类中属性包含了每个结果应该包含的数组,用这个实体类来包装每条结果,并把它存放到list中作为返回结果json串就正常了。
也可以建立一个视图,生成一个此视图的pojo,每次查询的时候返回视图pojo的结果集。
上述两种方法的原理差不多,都是用一个实体类来封装结果。