只能说equipName在传过来到时候就成??了。

解决方案 »

  1.   

    我是跟踪调试的传入的参数没有问题 ,但是跟踪到hql语句以后就成了??了
      

  2.   

    老问题了啊 
    hibernate3用antlr处理含中文的hql字串导致的。
    不要拼hql字串,用"like '%?%'"
      

  3.   

    hql用"like ?"
    然后query.setString(0,"%" + equipName +"%")
      

  4.   

    多谢楼上的解决办法,不过仍旧出现如下问题,是否跟我的sql语句写法有关系呢?
    异常如下:
    java.lang.IllegalArgumentException: Parameter likeName does not exist as a named parameter in [from EquipmentPO e where 1=1 and e.id not in (select mp.equipmentPO.id from ManagePurviewPO mp where mp.systemUserPO.id = '402882ac0d1ea474010d1ea48cde000a' or mp.approveState='1') and e.chineseName like:likeName order by e.equipID]我的程序是这样写的:
    ...
    if (StringUtil.isNotEmpty(equipName)) {
    hql += " and e.chineseName like:likeName";
    }
      

  5.   

    if (StringUtil.isNotEmpty(equipName)) {
    query.setString("likeName", "%电%");
    }
    不小心提交了