cmTDsquery = createQuery("from CmTxnDetailStage cstg where cstg.statusCd=:err" +
" and (cstg.id.batchName like :batchname or cstg.id.batchName like :batchname1)"+
" and cstg.prodTypeBlfd like :search1 "+
" and trunc(cstg.tranUploadDttm)=:uploadDt");
cmTDsquery.bindStringProperty("search1", CmTxnDetailStage.properties.prodTypeBlfd, search);
我声明搜索参数为
search = "MON%";
如果我将
:search1
替换为'MON%'
,它可以正常工作并且查询返回结果。仅上述代码不起作用,并返回
NULL
。谢谢
----------------编辑1
cmTDsquery.bindStringProperty("batchname",CmTxnDetailStage.properties.batchName,batchNamePattern);
cmTDsquery.bindStringProperty("batchname1",CmTxnDetailStage.properties.batchName,batchNamePattern1);
很抱歉在此提过很久,但是在bindStringProperty方法之上,它的作用就像是一种魅力。
batchname和batchname1包含“ CR_STLM_UBROL%”和“%RMB_PINDBT%”。
最佳答案
设置参数时这样做
“%” +搜索+“%”