我是春季JPA的新手。我有一个查询,使得我必须获取结果集并仅在顶部进行一行。我不知道如何在春季JPA中做到这一点。而且我不希望使用@Query注释完成它,因为有人问我不要在代码中进行任何查询。这是我要转换的乌里

我的查询

SELECT id,name FROM example_table ORDER BY id DESC LIMIT 1;


我在谓词文件中尝试过类似的操作:

public Predicate getLatest(){
 QExampleTable example = QExampleTable.exampleTable;
 return (Predicate) example.id.desc();
}


这是我的jpa存储库的样子:

public ExampleTable findOne(MyPredicate.getLatest());


但这无法解决,我知道它不会清楚。但我严重不知道如何转换以上查询。任何人都可以帮我解决这个问题

最佳答案

您可以只使用不带谓词和存储库的QueryDSL来实现。

List<ExampleTable> examples = new JPAQuery()
                .from(QExampleTable.exampleTable)
                .limit(1)
                .orderBy(new OrderSpecifier<>(Order.DESC, QExampleTable.exampleTable.id))
                .list(QExampleTable.exampleTable);

07-26 06:23