我刚刚开始学习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"
如果您提供示例代码支持,我将非常高兴。