java - Hibernate 查询语言(如运算符)不起作用

标签 java hql

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%";

如果我用 'MON%' 替换 :search1 ,它工作正常并且查询返回结果。

只有上面的代码不起作用并返回NULL

谢谢

----------------编辑1

cmTDsquery.bindStringProperty("batchname",CmTxnDetailStage.properties.batchName,batchNamePattern);
            cmTDsquery.bindStringProperty("batchname1",CmTxnDetailStage.properties.batchName,batchNamePattern1);

很抱歉这么晚才提到,但是上面的bindStringProperty方法就像一个魅力。 batchname 和batchname1 包含“CR_STLM_UBROL%”和“%RMB_PINDBT%”。

最佳答案

设置参数时这样做

“%”+搜索+“%”

关于java - Hibernate 查询语言(如运算符)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29692027/

相关文章:

java - 如何在 JComboBox 上使用 addItem() 而不修改编辑器?

java - 设置hibernate时未找到sessionImplementor类

Java内存泄漏理解

java - Hashmap 会覆盖值。如何添加多个相同的 key ?

java - 具有多个表连接和 sum()、first() 的 HQL

java - 如何为多对多关联编写 HQL 查询?

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'productId3' in 'where clause'

java - Selenium WebDriver 和 Junit 类设计

java - HQL不提取空字段的结果

java - 删除行是数据库