最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JPA?CriteriaBuilder子查詢方式

 更新時間:2021年12月07日 11:17:29   作者:Liyang120621  
這篇文章主要介紹了JPA?CriteriaBuilder子查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JPA CriteriaBuilder子查詢

給自己做個備忘

/** 檢索關鍵字 */
if (keyWord != null && !keyWord.trim().equals(""))
{
    // 創(chuàng)建子查詢對象
 Subquery<Store> subquery = criteriaQuery.subquery(Store.class);
 Root<Store> root2 = subquery.from(Store.class);
 subquery.select(root2.<Store> get("id"));
 subquery.where(criteriaBuilder.like(root2.<String> get("name"), "%" + keyWord + "%"));
 
 // 給讀者稍微解釋一下,也給自己留個記憶
    // 這里的意圖是將關鍵做兩個模糊檢索,一個是在本表中檢索title字段
    // 就是criteriaBuilder.like(root.<String> get("title"), "%" + keyWord + "%")
    // 二是將字段與子表中的檢索出來的id與本表中store字段做匹配
    // criteriaBuilder.in(root.get("store")).value(subquery))
    // 至于id怎么檢索出來的,用子查詢模糊檢索出來的,參照上面的子查詢 
 restrictions = criteriaBuilder.and(restrictions,criteriaBuilder.or(criteriaBuilder.like(root.<String> get("title"), "%" + keyWord + "%"),criteriaBuilder.in(root.get("store")).value(subquery)));
}

Jpa 在CriteriaBuilder中添加where條件NotIn子查詢

final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
final CriteriaQuery<Person> cq = cb.createQuery(Person.class);
final Root<Person> root = cq.from(Person.class);
cq.select(root);
final Subquery<Integer> subquery = cq.subquery(Integer.class);
final Root<Person> validityIDSQ = subquery.from(Person.class);
subquery.select(cb.max(validityIDSQ.get(Person_.validityID)));
subquery.groupBy(validityIDSQ.get(Person_.personID));
cq.where(cb.in(root.get(Person_.validityID)).value(subquery));
// 將生成
select
    person0_.id as id1_0_,
    person0_.personID as personID2_0_,
    person0_.validityID as validity3_0_,
    person0_.value as value4_0_
from
    person person0_
where
    person0_.validityID in (
            select
                max(person1_.validityID)
            from
                person person1_
            group by
                person1_.personID)

自身所需NotIn語法,所以是

Subquery<String> manageUserSubquery = query.subquery(String.class);
    Root<RelationUserManagePlateDomain> relationUserManagePlateDomainRoot = manageUserSubquery.from(RelationUserManagePlateDomain.class);
    Join<RelationUserManagePlateDomain, UserDomain> relationUserManagePlateDomainUserDomainJoin = relationUserManagePlateDomainRoot.join(RelationUserManagePlateDomain_.user, JoinType.INNER);
    Subquery<String> subquery = manageUserSubquery.select(relationUserManagePlateDomainUserDomainJoin.get(UserDomain_.id));
    Predicate predicate1 = criteriaBuilder.and(criteriaBuilder.not(criteriaBuilder.in(root.get(UserDomain_.id)).value(manageUserSubquery)));
    predicate.getExpressions().add(predicate1);

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Springboot es包版本異常解決方案

    Springboot es包版本異常解決方案

    這篇文章主要介紹了springboot 項目依賴 es包版本異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Java算法之重新排列數(shù)組例題

    Java算法之重新排列數(shù)組例題

    這篇文章主要介紹了Java算法之重新排列數(shù)組例題,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-08-08
  • Java中Gson的使用詳解

    Java中Gson的使用詳解

    這篇文章主要介紹了Java中Gson的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • SpringBoot整合FTP實現(xiàn)文件傳輸?shù)牟襟E

    SpringBoot整合FTP實現(xiàn)文件傳輸?shù)牟襟E

    這篇文章主要給大家介紹了SpringBoot整合FTP實現(xiàn)文件傳輸?shù)牟襟E,文中的流程步驟和代碼示例介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • SpringMVC攔截器運行原理及配置詳解

    SpringMVC攔截器運行原理及配置詳解

    這篇文章主要介紹了SpringMVC攔截器運行原理及配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • JPA原生SQL(自定義SQL)分頁查詢邏輯詳解

    JPA原生SQL(自定義SQL)分頁查詢邏輯詳解

    這篇文章主要介紹了JPA原生SQL(自定義SQL)分頁查詢邏輯詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 基于Beanutils.copyProperties()的用法及重寫提高效率

    基于Beanutils.copyProperties()的用法及重寫提高效率

    這篇文章主要介紹了Beanutils.copyProperties( )的用法及重寫提高效率的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Minio環(huán)境部署過程及如何配置HTTPS域名

    Minio環(huán)境部署過程及如何配置HTTPS域名

    MinIO?是一個對象存儲系統(tǒng),數(shù)據(jù)需要存儲在宿主機上,容器的重啟不影響數(shù)據(jù),因此我們需要為?MinIO?創(chuàng)建一個掛載目錄,用于持久化存儲數(shù)據(jù),本文詳細介紹了如何部署MinIO,并通過配置反向代理和HTTPS來提升其安全性,感興趣的朋友一起看看吧
    2025-03-03
  • java 折半查找法(二分查找)實例

    java 折半查找法(二分查找)實例

    java 折半查找法(二分查找)實例,需要的朋友可以參考一下
    2013-03-03
  • 在Spring中如何使用動態(tài)代理?

    在Spring中如何使用動態(tài)代理?

    上篇文章記錄自定義切面,下邊記錄使用注解來編寫自定義切面,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06

最新評論

名山县| 团风县| 临澧县| 淳化县| 沈丘县| 三河市| 寻甸| 四平市| 堆龙德庆县| 清徐县| 南靖县| 淮阳县| 冀州市| 阜康市| 察雅县| 灵宝市| 饶阳县| 永年县| 西藏| 丽江市| 昌邑市| 琼海市| 太谷县| 邢台市| 湘乡市| 囊谦县| 巴林左旗| 麻江县| 嘉峪关市| 渝中区| 澎湖县| 巧家县| 襄城县| 丰原市| 当阳市| 定州市| 前郭尔| 宁陵县| 康乐县| 双峰县| 潜江市|