public interface UserRepository extends JpaRepository<User, Long> {
@Query(value = "SELECT id AS USER_ID, name AS NAME FROM USERS ORDER BY ?#{#pageable} ",
countQuery = "SELECT count(id) FROM USERS ORDER BY ?#{#pageable}",
nativeQuery = true)
Page<User> findAll(Pageable pageable);
}
/users --> give me 20 records
/users?sort=name,desc --> give me 20 records sorted by name
/users?sort=userId,desc --> throws the error USERID not valid identifier
我不知道为什么在nativeQuery中没有将userId转换为USER_ID
答案 0 :(得分:0)
。因此,在这种情况下,属性不会转换为列名。对于实体也是如此,您必须像在查询USERS中一样命名表名,而不是像在定义本机查询时那样使用User实体。
尝试使用/ users?sort = USER_ID,desc 或/ users?sort = user_Id,desc
两者都可以。