當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring JPA使用CriteriaBuilder动态构造查询
生活随笔
收集整理的這篇文章主要介紹了
Spring JPA使用CriteriaBuilder动态构造查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://www.cnblogs.com/mzdljgz/p/11495723.html
在使用Spring JPA提供的方法只能進行簡單的CRUD,如果遇到復雜的情況就需要我們動態來構建查詢條件了。這里我們來看使用CriteriaBuilder如何來構造查詢。
核心代碼:
?
- 調用entityManager.unwrap(SessionImpl.class).getCriteriaBuilder();來獲取CriteriaBuilder。CriteriaBuilder可以用于創建CriteriaQuery、CriteriaUpdate和CriteriaDelete。除此之外類似count、max等函數也是由CriteriaBuilder來創建的。其中Entitymanager可以使用@PersistenceContext注解來進行注入。
- 調用criteriaBuilder.createQuery來創建CriteriaQuery。其中createQuery的參數是Query返回值類型。
- 調用criteriaQuery.from(MenuInfo.class)。參數是對應于MenuInfo表的實體類,query.from類似于sql中的from語句,該方法的執行等價于sql中的from MenuInfo。
- 調用 criteriaQuery.select創建映射。 criteriaQuery.select(criteriaBuilder.count(root.get(“id”)))等價于select count(id)。如果執行criteriaQuery.select(root)則等價于select *。
- 使用CriteriaBuilder構造查詢條件Predicate,該predicate也就是在where后面的條件子句。
- 執行查詢獲取數據。
轉載于:https://www.cnblogs.com/mzdljgz/p/11495723.html
總結
以上是生活随笔為你收集整理的Spring JPA使用CriteriaBuilder动态构造查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go 多态
- 下一篇: ie 报错 vuex requires