我的代码片段:使用JPA标准API与模式选择
criteriaQuery.select(root);
Predicate ctfPredicate;
if (deptPattern.contains("%") || deptPattern.contains("_")) {
deptPattern = deptPattern.replaceAll("%", "^%").replaceAll("_", "^_");
}
System.out.println("case sensitive " +deptPattern);
ctfPredicate = criteriaBuilder.like((Expression)root.get("name"), "%" + deptPattern + "%", '^');
criteriaQuery.where(criteriaBuilder.and(ctfPredicate));
TypedQuery<Object> typedQuery = entitymanager.createQuery(criteriaQuery);
List<Object> resultlist = typedQuery.getResultList();
printResult(resultlist);
的resultList不返回任何内容,而DB有2项与DNAME销售。 获取打印的查询: select department0_.deptno as deptno0_,department0_.loc as loc0_,department0_.dname as dname0_ from mydept department0_ where department0_.dname like?逃生?使用
数据库是Oracle和JPA2.0供应商是EclipseLink的
这条线打印什么? 'System.out.println(“区分大小写”+ deptPattern);' – user75ponic
区分大小写销售^% – kakoli
检查'resultlist'的大小,可能方法名称是'resultlist.getSize();' – user75ponic