很多时候我们见到的json数据都是多层嵌套的,就像下面这般:
{"name":"桔子桑","sex":"男","age":18,"grade":{"gname":"三年八班","gdesc":"初三年级八班"}
}
要获得以上类型json数据,不外乎以下步骤:
1.数据库查询
sql:select s.name,s.sex,s.age,g.gname,g.gdesc
from student s,grade g
where s.gid = g.gid; (你也可以选择用内连接的方法写)
这样我们就查询到了想要的信息,很显然,查询结果是一个Object[]的集合。
注意:由于大多数人都是对sql语句很熟悉,而对于hql语句不太熟悉,所以用hibernate框架查询的时候,
有必要进行以下操作:
String sql = "select s.sname,g.gname from student as s inner join grade as g on s.gid = g.gid WHERE s.sex = ?";
Query query=session.createSQLQuery(sql);
query.setParameter(0, "男");
List listDB = query.list();
这样就显式地告诉hibernate执行sql查询,而不是hql查询,
这