kos*_*ych 5 java hibernate jpa criteria-api jpa-2.0
如何在没有元模型使用的情况下创建不区分大小写的条件查询?
我正在尝试做这样的事情:
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Resident> criteria = builder.createQuery(Resident.class);
Root<Resident> personRoot = criteria.from(Resident.class);
criteria.where(builder.and(
builder.equal(builder.upper(personRoot.get("firstName")), filter.getFirstName())), //ERROR
builder.equal(personRoot.get("lastName"), filter.getLastName()));
Run Code Online (Sandbox Code Playgroud)
但它会产生错误:
接口javax.persistence.criteria.CriteriaBuilder中的方法upper不能应用于给定的类型; 需要[ERROR]:找到javax.persistence.criteria.Expression [ERROR]:javax.persistence.criteria.Path
尝试
Expression<String> firstName = personRoot.get("firstName");
criteria.where(builder.and(
builder.equal(builder.upper(firstName ), filter.getFirstName())),
builder.equal(personRoot.get("lastName"), filter.getLastName()));
Run Code Online (Sandbox Code Playgroud)
似乎方法上层在接受路径方面存在一些问题
这应该编译:
...builder.upper(personRoot.<String>get("firstName"))...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7557 次 |
| 最近记录: |