首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

hibernate 这个SQL 查询的返回值如何封装成实体的

2013-10-19 
hibernate 这个SQL 查询的返回值怎么封装成实体的public BriefCarinfo findTopOne(){StringBuilder sqlne

hibernate 这个SQL 查询的返回值怎么封装成实体的
public BriefCarinfo findTopOne()
{
StringBuilder sql=new StringBuilder();//"select base_2.id,base_2.carnu,base_2.oname,base_2.trademark,base_2.finalcareman from "
sql.append("select id, carnu, oname, trademark, finalcareman as finalcarename from");
sql.append(" ( ");
sql.append("select  * from");
sql.append(" ( ");
sql.append("select * from ( select id, carnu, oname, trademark, finalcareman, yyyy,  mm, dd from carinfo where id not in ( select  id  from sellgrouptmp ) ) sour where sour.mm=?  and sour.dd>?");
sql.append(" union ");
sql.append("select * from ( select id, carnu, oname, trademark, finalcareman, yyyy,  mm, dd from carinfo where id not in ( select  id  from sellgrouptmp ) ) sour where sour.mm=?  and sour.dd<?");
sql.append(" union ");
sql.append("select * from ( select id, carnu, oname, trademark, finalcareman, yyyy,  mm, dd from carinfo where id not in ( select  id  from sellgrouptmp ) ) sour where sour.mm=?  and sour.dd>?");
sql.append(" union ");
sql.append("select * from ( select id, carnu, oname, trademark, finalcareman, yyyy,  mm, dd from carinfo where id not in ( select  id  from sellgrouptmp ) ) sour where sour.mm=?  and sour.dd<?");
sql.append(" ) ");
sql.append("where id not in (select  DISTINCT carid from carelog where careresult='拒绝' and caredate BETWEEN (sysdate-30) and sysdate)");
sql.append(" ) where finalcareman is null and rownum=1 order by yyyy  desc");

Date dateNow=new Date();
int mm=Integer.parseInt(new SimpleDateFormat("MM").format(dateNow));
int dd=Integer.parseInt(new SimpleDateFormat("dd").format(dateNow));

int nextFirstMm=MyCommonUtils.monthCircle(mm);
int halfFirstMm=MyCommonUtils.halfYearCircle(mm);
int halfNextMm=MyCommonUtils.monthCircle(halfFirstMm);
System.out.println(mm+"  "+dd+"  "+nextFirstMm+"  "+dd+"  "+halfFirstMm+"  "+dd+"  "+halfNextMm+"  "+dd);

Object target=this.getHibernateTemplate().quertForObejctWithSQL(sql.toString(), new Object[]{mm,dd,nextFirstMm,dd,halfFirstMm,dd,halfNextMm,dd});

return (BriefCarinfo) target;

}

                                                  javaEE                    hibernate                    SQL查询实体封装                                              
[解决办法]
因为查询的返回结果是多条记录的,你使用quertForObejctWithSQL就悲剧了,,看看有没有quertForListWithSQL这个方法
[解决办法]
可以看一下hql,
只返回一条数据并且字段也不多
还是自己处理比较好
[解决办法]
楼主努力自己封装吧。。。

热点排行