亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JPA - 對條款和大小寫不敏感的特異性

JPA - 對條款和大小寫不敏感的特異性

aluckdog 2022-09-14 17:16:29
使用 mysql 和彈簧靴 JPA,我正在嘗試使用JPA.在子句中實現參數列表傳遞給規范時,在編寫如下manaul查詢時獲得預期結果。雇員 Id 是一個字符串列,其中既有大寫字母,也有小寫字母。雖然手動查詢有效,但必須實現規范。手動查詢:SELECT empFROM EmployeeEntitiy empWHERE LOWER(emp.employeeIdParam) IN(  SELECT LOWER(empRel.destinationssid)  FROM EmployeeRelationEntity empRel WHERE ((LOWER(empRel.employeeId)=:employeeIdParam                                             OR UPPER(empRel.employeeId)=:employeeIdParam)                                             OR empRel.employeeId=:employeeIdParam)我怎么能檢查列數據與大寫和小,如手動查詢在到預測覆蓋方法。公積管規格:private class ParentChildCISpecification implements Specification<EmployeeEntitiy> {    List<String> employeeIdParamsList = new ArrayList<String>();    public ParentChildCISpecification(List<String> employeeIdParamsList) {        this.employeeIdParamsList = employeeIdParamsList;    }    @Override    public Predicate toPredicate(Root<EmployeeEntitiy> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {        return root.get("employeeId").in(employeeIdParamsList);    }}
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

傳入小寫的字符串列表并使用表達式:CriteriaBuilder.lower


@Override

    public Predicate toPredicate(Root<EmployeeEntitiy> root

        , CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {


        return criteriaBuilder.lower(root.get("employeeId")).in(employeeIdParamsList);


    }


查看完整回答
反對 回復 2022-09-14
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

在相等的情況下,可以使用以下


import org.springframework.data.jpa.domain.Specification;


final Specification<EmployeeEntity> spec = (employeeEntity, cq, cb) -> cb.equal(cb.lower(employeeEntity.get("email")), email.toLowerCase());

final List<EmployeeEntity> empList = employeeRepository.findAll(spec, PageRequest.of(page, size));



查看完整回答
反對 回復 2022-09-14
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

做 -- 你可能會發現 是 而不是 (對于 “不區分大小寫”)SHOW CREATE TABLE EmployeeEntitiyCOLLATION...bin...ci



查看完整回答
反對 回復 2022-09-14
  • 3 回答
  • 0 關注
  • 285 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號