如何用Java CriteriaBuilder编写查询?
SELECT c FROM UserTransaction c WHERE c.status in ('M', 'P') AND
instr(c.idNumber,:idNum) > 0 order by c.userI
注意: idNum是一个变量
请看我开始写的东西。但是我不能编译它。
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);
https://stackoverflow.com/questions/56657821
复制相似问题