是否有一个spring-jpa方法查询来获取所有并对它们进行排序?

时间:2017-10-17 19:51:49

标签: spring-data-jpa

我想要一个相当于select * from my_table order by my_col的JPA方法查询。我可以使用findAll()方法select * from my_table来获取所有列和行。我可以声明并使用findAllBySomeColOrderByMyCol(someCol)获取一些行和所有列并对my_col进行排序。我找不到的是findAllOrderByMyCol()获取所有行和列并对其中一列进行排序。

这真的不存在吗?如果没有,理由是什么?所有都是选择*。

2 个答案:

答案 0 :(得分:1)

我的同事帮我解决了这个问题。方法是findAllByOrderByMyCol()。我保证我会阅读https://docs.spring.io/spring-data/jpa/docs/1.8.x/reference/html/#jpa.query-methods,这看起来像逻辑文档。命名约定(首先使用'By')对我来说似乎并不直观,文档中没有任何内容真正指出它。

希望这有助于其他人。

答案 1 :(得分:0)

尝试在下面像我这样做,它应该工作:

import com.khaled.caterate.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository("userRepository")
public interface UserRepository extends JpaRepository<User, Integer> {

    List<User> findAllByFirstNameOrderByAverageMark(String firstName);
}