Specification排序orderby
废话不多说直接贴代码
Specification<Course> sf = new Specification<Course>() {
@Override
public Predicate toPredicate(Root<Course> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
List<Predicate> predicateList = Lists.newArrayList();
//isDelete
Predicate isDeletePredicate = criteriaBuilder.equal(root.get("isDelete"), Constant.NOT_DELETE);
predicateList.add(isDeletePredicate);
//isShelves
Predicate isShelvesPredicate = criteriaBuilder.equal(root.get("isShelves"),Constant.COURSE_SHELVES_YES);
predicateList.add(isShelvesPredicate);
//categoryId
if(categoryId!=null){
Predicate predicate = criteriaBuilder.equal(root.get("category").get("id"), categoryId);
predicateList.add(predicate);
}
//isRecommend
if(isRecommend!=null){
Predicate predicate = criteriaBuilder.equal(root.get("isRecommend"), isRecommend);
predicateList.add(predicate);
}
/**
* order By
*/
Order weightOrder = criteriaBuilder.desc(root.get("weight"));
Order createDateOrder = criteriaBuilder.desc(root.get("createDate"));
return criteriaQuery.orderBy(weightOrder, createDateOrder).where(predicateList.toArray(new Predicate[predicateList.size()])).getRestriction();
}
};
Specification排序orderby的更多相关文章
- 转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take
Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只 ...
- csharp C#数字字符串排序orderby的问题解决
一般情况下 您使用 strs.OrderBy(n=>n) 得出的结论是 1, 11,111,2,22,222想要得出 1,2,11,22,111,222 咋办?源码送上 static void ...
- jpa 指定字段内容按照顺序排序(orderBy when then)
query.orderBy( criteriaBuilder.desc( criteriaBuilder.selectCase() .when(criteriaBuilder.equal(root.g ...
- Hibernate逍遥游记-第12章 映射值类型集合-005对集合排序(<order-by>\<sort>)
1. 2. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate ...
- EntityFramework 分页问题探讨之 OrderBy
应用场景 最近被应用程序中页面加载慢的问题所折磨,看似容易的问题,其实并不容易(已经持续两天时间了),经过"侦查",发现了两个"嫌疑犯": EntityFram ...
- EF分页问题探讨之 OrderBy
EntityFramework 应用场景 最近被应用程序中页面加载慢的问题所折磨,看似容易的问题,其实并不容易(已经持续两天时间了),经过“侦查”,发现了两个“嫌疑犯”: EntityFramewor ...
- C#中Dictionary<TKey,TValue>排序方式
自定义类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...
- .Net Framework 4.0 内部排序探索
简介 一时好奇心起,想一窥.Net Framework 4.0内部究竟是使用何种算法排序.以前听人说Framework内部是使用的快速排序,但究竟耳听为虚,眼见为实.主要通过JetBrains dot ...
- LINQ 101——约束、投影、排序
什么是LINQ:LINQ 是一组 .NET Framework 扩展模块集合,内含语言集成查询.集合以及转换操作.它使用查询的本机语言语法来扩展 C# 和 Visual Basic,并提供利用这些功能 ...
随机推荐
- C语言:for语句原理及具体执行过程
#include <stdio.h> int main() { int i,s=0; for(i=1;;i*=2) { s=s+i; if(i%3==0) break; i=i+2; pr ...
- vivo x9i ADB 模拟点击
手机连接电脑无反应,安装360驱动大师 更多设置--关于---多次点击软件版本号--开启开发者选项 USB调试--USB模拟点击(需要密码开启)
- Spark—RDD介绍
Spark-RDD 1.概念介绍 RDD(Resilient Distributed Dataset):弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算 ...
- python + mysql 实现查询表数据
实例如下: import pymysqldef select_form(): # 打开数据库连接 db = pymysql.connect("localhost", "r ...
- 《PHP 实现 Base64 编码/解码》笔记
前言 早在去年 11 月底就已经看过<PHP 实现 Base64 编码/解码>这篇文章了,由于当时所掌握的位运算知识过于薄弱,所以就算是看过几遍也是囫囵吞枣一般,不出几日便忘记了其滋味. ...
- 秒懂 Java 的三种代理模式
前言 代理(Proxy)模式是一种结构型设计模式,提供了对目标对象另外的访问方式:即通过代理对象访问目标对象. 这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. ...
- 剖根问底:Java 不能实现真正泛型的原因是什么?
大家好,我是二哥呀! 今天我来给大家讲一下,Java 不能实现真正泛型的原因是什么? 本文已同步至 GitHub <教妹学 Java>专栏,风趣幽默,通俗易懂,对 Java 初学者亲切友善 ...
- lis分析之一一批处理(任务)如何连接数据库的
public class ZFBCheckAccountTask extends TaskThread { } 这个类运行时候自动加载了数据库连接,不明白是如何提前加载的,开始用static { } ...
- ifix vba 读取计算机中的txt文件,截取字符串显示
利用vba脚本,使用Scripting.FileSystemObject对象可以实现对文本文件的操作,下面以一个朋友的实际例子为例将截获的字符串进行页面显示. Private Sub CommandB ...
- ASP.NET中Textbox后的必填验证控件RequiredFieldValidator的使用方法。
制作效果如下: 实现方法: 1. 拖动RequiredFieldValidator控件到相应的textbox后位置,点击属性面板,输入ErroMessage相应信息,更改ForeColor为红色 设置 ...