我试图使用Spring-Data-JPA在一个表中进行按ASC排序的应用程序,但是它给了我一个错误:
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();
我试图使用Spring-Data-JPA在一个表中进行按ASC排序的应用程序,但是它给了我一个错误:
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();
尝试在“全部”和“排序”之间加入“By”,就像这样:
List<Foo> findAllByOrderByDateAsc();
我不认为你可以将findAll用作前缀。
关于查询,select *
不是有效的JPQL语句。应该是
select foo from Foo foo order by foo.date desc
示例:
databaseDAO.findByUserNameOrderByCreatedDateDesc(username);
根据用户名列出用户并按创建日期排序。
@Repository
public interface DatabaseDAO extends JpaRepository<User,Integer> {
public List<RecentlyView> findByUserNameOrderByCreatedDateDesc(String username);
}
date
是 SQL 中的保留字。尝试将表属性更改为 foo_date
,例如,并将查询重写为 SELECT * FROM foo ORDER BY foo_date DESC