2 lovezwlhjj lovezwlhjj 于 2014.08.05 17:46 提问

hql拼接语句时的空格问题

下面两段代码是我拼接hql语句的两种:
1、if(hql.indexOf("where")==-1){
hql += " where archiveTime is not null and netType = '"+netType+"' ";
}else{
hql += " and archiveTime is not null and netType = '"+netType+"' ";
}

        if(companyName!=null&&!"".equals(companyName)){
            hql+="and Business_.lowerName.customer.name1 like '%"+companyName+"%'";
        }

下面是第二种:
2、 if(hql.indexOf("where")==-1){
hql += " where archiveTime is not null and netType = '"+netType+"'";
}else{
hql += " and archiveTime is not null and netType = '"+netType+"'";
}

        if(companyName!=null&&!"".equals(companyName)){
            hql+=" and Business_.lowerName.customer.name1 like '%"+companyName+"%'";
        }

乍一看两个是没有区别的,但是注意看会发现,第一个在netType后面加了空格,第二个是在and 之前加的空格。两种运行的第一种是正确的,第二种是错误的。网上找不到资料,忘各位大神帮忙分析下原因。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!