使用spring pageable查询DSL高级排序

时间:2017-11-19 19:12:42

标签: java spring hibernate jpa querydsl

)当我使用QueryDSL时,我在排序和弹出可分页方面遇到了一些问题。我需要非常高级的排序,而不仅仅是存储在同一个表中的数据库中的对象的字段。

这是我的模型大约:

@Getter
@Setter
@Entity
public class Book {

  @Id
  @GeneratedValue
  private long id;

  @OneToMany
  private Set<Category> cats = new HashSet<>()

  } 

 @Getter
 @Setter
 @Entity
  public class Category{
    private long id;
    private Name name;
  }

 public enum Name{
  WINTER,
  SUN,
  SUMMER
 }

现在,我想要做的就是按类别ID排序(desc和asc)Book(我有很多书),只有当Category有名称SUN时。我想将Qsort作为Sort接口传递给PageRequest sping类。

我不知道如何实现它。我尝试了很多方法,但这些都没有解决这个问题(例如一些子查询在集合上调用any()并使用Qsort类)。我担心使用Query DSL而不是Criteria Api会出错。有人可以指导我吗?我将非常感激。

最好的问候

0 个答案:

没有答案