我想要一个相当于select * from my_table order by my_col
的JPA方法查询。我可以使用findAll()
方法select * from my_table
来获取所有列和行。我可以声明并使用findAllBySomeColOrderByMyCol(someCol)
获取一些行和所有列并对my_col
进行排序。我找不到的是findAllOrderByMyCol()
获取所有行和列并对其中一列进行排序。
这真的不存在吗?如果没有,理由是什么?所有都是选择*。
答案 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);
}