55

我尝试按 ASC 的顺序在表上使用 Spring-Data-JPA 创建应用程序,但它给了我一个错误:

Invalid derived query! No property asc found for type java.util.Calendar

为什么 ?

List<Foo> findAllOrderByDateAsc();

或者

@Query("SELECT * FROM foo ORDER BY date ASC")
List<Foo> findAllOrderByDateAsc();
4

4 回答 4

162

尝试在“All”和“Order”之间添加“By”,如下所示:

List<Foo> findAllByOrderByDateAsc();
于 2014-02-04T03:15:14.067 回答
11

我认为您不能使用 findAll 作为前缀。

关于查询,select *不是有效的 JPQL。它应该是

select foo from Foo foo order by foo.date desc
于 2013-11-01T19:03:20.300 回答
2

date是 SQL 中的保留字。例如,尝试将表属性更改为foo_date,并将查询重写为SELECT * FROM foo ORDER BY foo_date DESC

于 2013-11-01T19:04:10.650 回答
1

例子 :

databaseDAO.findByUserNameOrderByCreatedDateDesc(username);

根据用户名和排序创建日期列出用户。

@Repository
public interface DatabaseDAO extends JpaRepository<User,Integer> {

public List<RecentlyView>  findByUserNameOrderByCreatedDateDesc(String username);


}
于 2019-05-07T07:56:17.643 回答