zoukankan      html  css  js  c++  java
  • hibernate在使用sql查询query自动转化成model类型数据,query.addEntity

    hibernate使用自动的hql查询或者其封装的查询方法都能字段转化成对象

    而如果在hibernate中使用sql时大多返回为Object[]对象

    那么如何将object[]转换成model呢,答案就是

    addEntity(Class cls);

    实列

        public HqxgModel getMaxMinHqxg(){
            StringBuilder sb = new StringBuilder();
            sb.append("select  ");
            sb.append("'0' idStr,  ");
            sb.append("'' date,  ");
            sb.append("'0' hqsyl1End,'0' hqsyl1Start,  ");
            sb.append("'0' hqsyl2End,'0' hqsyl2Start,  ");
            sb.append("'' hqxgTitle,'' userid,  ");
            sb.append("'' industryCode,'' province,  ");
            sb.append("'' xxzrlxM,'' xxzrlxT,  ");
            //不保留小数点的
            sb.append("max(CEILING(h.hsl))hqhslEnd,min(FLOOR(h.hsl))hqhslStart, ");
            sb.append("max(CEILING(h.cjl))hqcjslEnd,min(FLOOR(h.cjl))hqcjslStart, ");
            sb.append("max(CEILING(h.cje))hqcjjeEnd,min(FLOOR(h.cje))hqcjjeStart, ");
            sb.append("max(CEILING(h.zdf))hqzdfEnd,min(FLOOR(h.zdf))hqzdfStart, ");
            sb.append("max(CEILING(h.zxj))hqzrspEnd,min(FLOOR(h.zxj))hqzrspStart, ");
            sb.append("max(CEILING(h.syl))sylEnd,min(FLOOR(h.syl))sylStart, ");
            sb.append("max(CEILING(h.mgjzc))mgjzcEnd,min(FLOOR(h.mgjzc))mgjzcStart, ");
            sb.append("max(CEILING(h.zsz))xxzszEnd,min(FLOOR(h.zsz))xxzszStart, ");
            sb.append("max(CEILING(h.zfz))fzHeJiEnd,min(FLOOR(h.zfz))fzHeJiStart, ");
            sb.append("max(CEILING(h.zzc))zczongJiEnd,min(FLOOR(h.zzc))zczongJiStart, ");
            sb.append("max(CEILING(h.zgb))xxzgbEnd,min(FLOOR(h.zgb))xxzgbStart, ");
            sb.append("max(CEILING(h.gsygpgsgdjlr))gsygpgsgdjlrEnd,min(FLOOR(h.gsygpgsgdjlr))gsygpgsgdjlrStart, ");
            sb.append("max(CEILING(h.mgsy))mgsyEnd,min(FLOOR(h.mgsy))mgsyStart, ");
            sb.append("max(CEILING(h.syl))ylnljzcsylroeEnd,min(FLOOR(h.syl))ylnljzcsylroeStart, ");
            sb.append("max(CEILING(h.srjll))ylncxljllEnd,min(FLOOR(h.srjll))ylncxljllStart, ");
            sb.append("max(CEILING(h.mll))mllEnd,min(FLOOR(h.mll))mllStart, ");
            sb.append("max(CEILING(h.jlr))jingLiRunEnd, min(FLOOR(h.jlr))jingLiRunStart, ");
            sb.append("max(CEILING(h.yysr))yingYeShouRuEnd,min(FLOOR(h.yysr))yingYeShouRuStart ");
            sb.append("from hqxg h ");
            try {
                Query query = super.getCurrentSession().createSQLQuery(sb.toString());
                List<HqxgModel> list = ((SQLQuery) query).addEntity(HqxgModel.class).list();
                if( list !=null && list.size()>0)return list.get(0);
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                //System.out.println("");
            }
            return null;
        }
  • 相关阅读:
    如何找出阻塞的线程正在等待哪个线程
    探索Windows 10的CFG机制
    异常0xc000041d的抛出过程
    异常STATUS_FATAL_USER_CALLBACK_EXCEPTION(0xc000041d)
    VisualStudio中集成扩展调试SOS
    clr调试扩展和DAC
    WinDbg常用命令系列---sx, sxd, sxe, sxi, sxn, sxr, sx- (设置异常)
    CLR调试时的sos.dll/clr.dll/mscorwks.dll/mscordacwks.dll等动态库的版本对应
    WinDbg常用命令系列---!runaway
    WinDbg常用命令系列---!findstack
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/4644823.html
Copyright © 2011-2022 走看看