【发布时间】:2015-02-21 14:20:48
【问题描述】:
我有一个 CriteriaBuilder,我试图在其中获取从 0 到 10 的字符。但是我无法获得所需的输出。
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Emp> cq = cb.createQuery(Emp.class);
Root<Emp> c = cq.from(Emp.class);
cb.substring(c.<String>get("projDesc"), 0, 10);
cq.orderBy(cb.desc(c.get("salary")));
Query query = em.createQuery(cq);
.....
这可能是什么原因?
【问题讨论】:
-
您不需要将 cb.substring 分配给某些东西吗?否则效果会丢失,就像
String.substring -
@geert3 是对的,如果使用 Substring 运行 SQL 查询,则需要调用该函数并添加到 select 语句中,与
CriteriaBuilder相同。projDesc是Emp.class属性,但不是子串的结果,需要添加到CriteriaBuilder的select语句中。
标签: java jpa eclipselink jpa-2.0 criteria-api