使用Querydsl进行过滤操作

问题描述 投票:0回答:1

我刚刚开始学习querydsl。我想做简单的过滤操作。我看到有两种不同的方法可以做到这一点。第一个是使用 @QuerydslPredicate 注释进行绑定,第二个是通过创建 自定义谓词。使用 @QuerydslPredicate 注释,我不能使用像 ">、<, >=、<=, !" etc. I couldn't get through. I read https://www.baeldung.com/rest-api-search-language-spring-data-querydsl 这样的运算符作为参考。我为示例创建了 2 个类。

@Entity
public class Author {
   private String name;
   private Integer age;

   @ManyToMany
   private Set<Book> books;
}

@Entity
public class Book {
   private String name;

   @ManyToMany
   private Set<Author> authors;
}

我想要的Http请求是

GET "http://localhost:8080/api/author?filter=age>30"
OR
GET "http://localhost:8080/api/author?age>30" 

/*
* Join operation
* Get the authors of the book named Harry potter.
*/
GET "http://localhost:8080/api/author?filter=books.name:HarryPotter"
OR
GET "http://localhost:8080/api/author?books.name=HarryPotter"

如果您提供示例代码支持,我将非常高兴。

java spring-boot spring-data-jpa querydsl
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.