当用hibernate进行多表查询时感觉用hql很不方便,所以本人就选择用sql查询。
由于我接触hibernate不久,在进行结果集和实体类映射的时候出现了很多问题,还好在百度上花费了一些时间,最后终于解决了
1:首先将多表查询需要的各个字段自定义一个实体类,不需要映射文件
[color=red]OaYqsqVO类[/color]
2:在进行查询的时候需要先将实体类中的字段用addScalar方法添加到query中,
用query.setResultTransformer(Transformers.aliasToBean(OaYqsqVO.class))
方法将实体类和结果集对应,代码如下
这样基本就可以了,但是这出现了一个新问题,希望各位大牛帮忙
用hql查询后将list用
但是用sql查询将list用
由于我接触hibernate不久,在进行结果集和实体类映射的时候出现了很多问题,还好在百度上花费了一些时间,最后终于解决了
1:首先将多表查询需要的各个字段自定义一个实体类,不需要映射文件
[color=red]OaYqsqVO类[/color]
private String id;
private String name;
private String aName;//a表的关联字段
private String bName;//b表的关联字段
private String cName;//c表的关联字段
get, set方法略
2:在进行查询的时候需要先将实体类中的字段用addScalar方法添加到query中,
用query.setResultTransformer(Transformers.aliasToBean(OaYqsqVO.class))
方法将实体类和结果集对应,代码如下
SQLQuery query = getSession().createSQLQuery(sql);
query.addScalar("id");
query.addScalar("name");
query.addScalar("aName");
query.addScalar("bName");
query.addScalar("cName");
query.setResultTransformer(Transformers.aliasToBean(OaYqsqVO.class));
return query.list();
这样基本就可以了,但是这出现了一个新问题,希望各位大牛帮忙
用hql查询后将list用
JSONArray.fromObject(list,jsonConfig).toString()
返回到前台中文无乱码
但是用sql查询将list用
JSONArray.fromObject(list,jsonConfig).toString()
返回到前台显示确出现乱码,不知道何因!!