private Map<String, Object> createWblHqlContext(boolean needGroup, String startDate, String endDate) {
        Map<String, Object> context = new HashMap<String, Object>();
        // 构建hql
        StringBuilder hql = new StringBuilder();
        hql.append(this.createVaInfoWblDaySelectPart(startDate, endDate)).append(" ");

hql.append("from WfjWbl t where 1=1 ");
        List<Object> params = new ArrayList<Object>();
        if (startDate.length() > 0) {
            hql.append(" and t.settlementDate >= ?");
            params.add(startDate);
        }
        if (endDate.length() > 0) {
            hql.append(" and t.settlementDate <= ?");
            params.add(endDate);
        }
        if (needGroup)
            hql.append(" ").append(this.createVaInfoWblDayGroupByPart());
        context.put("hql", hql.toString());
        context.put("params", params);
        return context;
    }

// 构造select字段
    private String createVaInfoWblDaySelectPart(String startDate,String endDate) {
        StringBuilder sb = new StringBuilder();
        sb.append("select t.settlementDate,");// 清算日期
        sb.append("sum(t.amount)/100 ,"); // 清算交易金额
        sb.append("sum(t.amount)/100 ,"); // 交易笔数
        sb.append("sum(t.shopfee)/100 ,"); // 商户手续费
        sb.append("((sum(t.sdsy)/100-sum(t.advancefee)/100)) ,"); // 王府井入账金额
        sb.append("sum(t.sdsy)/100, "); // 收单收入
        sb.append("sum(t.wangsy)/100,"); // 王府井收入
        sb.append("sum(t.cjfsy)/100, "); // 插件方收入
        sb.append("sum(t.wangsh)/100, "); // 王府井损失
        sb.append("sum(t.cjfsh)/100 "); // 插件方损失
        sb.append("( ").append(this.createNoCardPayQueryThirdsySelectByPart())
        .append(this.createNoCardPayQueryThirdsyFromByPart(startDate, endDate))
        .append(" and t.mernum = '898110248990216'").append(this.createVaInfoWblDayGroupByPart()).append(") ");//代垫手续费(国美)

return sb.toString();
    }

// 构造group by字段
    private String createVaInfoWblDayGroupByPart() {
        StringBuilder sb = new StringBuilder();
        sb.append("group by t.settlementDate ");
        return sb.toString();
    }
    
    //构造sql查询代垫手续费,
    private String createNoCardPayQueryThirdsySelectByPart() {
        StringBuilder sb = new StringBuilder();
        sb.append("select sum(t.thirdsy)/100 ");
        return sb.toString();
    }

//构造sql查询代垫手续费的from部分
    private String createNoCardPayQueryThirdsyFromByPart(String startDate, String endDate) {
        StringBuilder sb = new StringBuilder();
        sb.append("from WfjWbl t where 1=1 ");
        List<Object> params = new ArrayList<Object>();
        if (startDate.length() > 0) {
            sb.append(" and t.settlementDate >= ?");
            params.add(startDate);
        }
        if (endDate.length() > 0) {
            sb.append(" and t.settlementDate <= ?");
            params.add(endDate);
        }
        return sb.toString();
    }

当添加红色部分内容时,页面就报org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: ( near line 1, column 215 [select t.settlementDate,sum(t.amount)/100 ,sum(t.amount)/100 ,sum(t.shopfee)/100 ,((sum(t.sdsy)/100-sum(t.advancefee)/100)) ,sum(t.sdsy)/100, sum(t.wangsy)/100,sum(t.cjfsy)/100, sum(t.wangsh)/100, sum(t.cjfsh)/100 ( select sum(t.thirdsy)/100 from cn.net.wangfujing.model.WfjWbl t where 1=1 and t.settlementDate >= ? and t.settlementDate <= ? and t.mernum = '898110248990216'group by t.settlementDate ) from cn.net.wangfujing.model.WfjWbl t where 1=1 and t.settlementDate >= ? and t.settlementDate <= ? group by t.settlementDate

求助!!!

关于hibernate子查询参数的问题的更多相关文章

  1. hibernate子查询

    对于支持子查询的数据库,Hibernate支持在查询中使用子查询.一个子查询必须被圆括号包围起来(经常是SQL聚集函数的圆括号). 甚至相互关联的子查询(引用到外部查询中的别名的子查询)也是允许的. ...

  2. hibernate HQL查询参数设置

    Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: Prepa ...

  3. 利用Hibernate子查询(in) 得到部分字段(实体类的构造函数)

    感人= = 终于弄好了 String hql="select new Shop(s.strid,s.shopname,s.tradearea,s.discountinfo,s.beginti ...

  4. Oracle子查询和多表查询

    多表查询需要用到表的连接 连接可以分为:(自行百度) 交叉连接(数字逻辑的笛卡尔积,不做解释) 等值连接 例如:select * from t_a, t_b where t_a.xx = t_b.xx ...

  5. Hibernate 函数 ,子查询 和原生SQL查询

    一. 函数 聚合函数:count(),avg(),sum(),min(),max() 例:(1)查询Dept表中的所有的记录条数. String hql=" select count(*) ...

  6. Hibernate 分组查询 子查询 原生SQL

    分组查询: 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...

  7. Hibernate HQL查询的参数绑定

    参数绑定: Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: ...

  8. Hibernate HQL中的子查询

    子查询是SQL语句中非常重要的功能特性,它可以在SQL语句中利用另外一条SQL语句的查询结果,在Hibernate中HQL查询同样对子查询功能提供了支持.   如下面代码所示: List list=s ...

  9. hibernate的子查询

    hibernate原话 HQL supports subqueries in the where clause. We can't think of many good uses for subque ...

随机推荐

  1. Springmvc+Spring+Hibernate搭建方法及实例

    Springmvc+Spring+Hibernate搭建方法及实例  

  2. [置顶] What is the difference between Category and Class Extension?

    细心的人会发现当我们new 一个文件的时候会发现下图的部分. 但是这个问题来了Category 和 Extension 就近又什么区别呢? 1:什么是Category? 实现这样一种场景,当我们用我们 ...

  3. poj 3269 Building A New Barn

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...

  4. HDU 5769 Substring(后缀数组)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5769 [题目大意] 在一个串中求出包含字母的子串个数, 只要存在一个字符不相等的子串即可视为不同的 ...

  5. Mysql 学习记录

    ( xampp 的mysql 与 直接用 dnf 安装的 mysql 有冲突! ) 1. 数据库基本知识: 一张表的行 又称为 记录 一张表的列 又称为 字段 表结构:所有字段,规定了你的每一条记录所 ...

  6. swift3.0基础语法(2)

    变量/常量,元组声明 var aaa = 0;//声明变量aaa 首次赋值时自动解析为Int类型 var aaa:Int = 0;//声明Int类型变量aaa let aaa = 0;//声明常量aa ...

  7. China&#39;s WeChat Gaining Global Attention

    近期在论坛上看见一个美丽的妹子, 本能反应,点击她的头像进去她的资料.发现她是google+认证而来.我就进一去一探到底. 增加她的圈子.发现他看过的一个视频. China's WeChat Gain ...

  8. [每日一题] 11gOCP 1z0-052 :2013-09-10 ABOUT ALERTS...............................................A50

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11546561 正确答案:AD 使用服务器生成的警报系统,从Oracle10g版本开始,Or ...

  9. ubuntu之iptables

    1.更新iptables并立即生效: a.保存当前设置:iptables-save > /etc/iptables.up.rules b.修改iptables规则: 例如: -I INPUT - ...

  10. SQL Server索引进阶:第三级,聚集索引

    原文地址: Stairway to SQL Server Indexes: Level 3, Clustered Indexes 本文是SQL Server索引进阶系列(Stairway to SQL ...