首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为下面给出的查询编写Java CriteriaBuilder

如何为下面给出的查询编写Java CriteriaBuilder
EN

Stack Overflow用户
提问于 2019-06-19 06:27:37
回答 1查看 1.1K关注 0票数 0

如何用Java CriteriaBuilder编写查询?

代码语言:javascript
复制
SELECT c FROM UserTransaction c WHERE  c.status in ('M', 'P') AND
instr(c.idNumber,:idNum) > 0 order by c.userI

注意: idNum是一个变量

请看我开始写的东西。但是我不能编译它。

代码语言:javascript
复制
CriteriaBuilder cb = em.getCriteriaBuilder();
ParameterExpression<String> idnumParameter = cb.parameter(String.class, idNum);
ParameterExpression<Integer> numberParameter = cb.parameter(Integer.class)       

CriteriaQuery<UserTransaction > cq = cb.createQuery(UserTransaction .class);
Root<UsasTransaction> postRoot = cq.from(UserTransaction .class);

Predicate predicateInM    = cb.equal(postRoot.get("status"),"M");
Predicate predicateInP    = cb.equal(postRoot.get("status"),"P");
Predicate predicateStatus = cb.or(predicateInM, predicateInP);

Predicate predicateInstr  = (Predicate) cb.function("INSTR", Boolean.class, postRoot.get("idNumber"), idnumParameter );
Predicate predicateGt     = cb.gt(predicateInstr, 0);
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56657821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档