Sql 在SpringDataJPA中,如何通过不同的列和列数获取数据?

Sql 在SpringDataJPA中,如何通过不同的列和列数获取数据?,sql,postgresql,spring-boot,spring-data-jpa,Sql,Postgresql,Spring Boot,Spring Data Jpa,我有一个postgresql表,如下所示: ------------------+------------------------+------------------------ id + username + sessionId -------------------------------------------+------------------------ 1 + admin

我有一个postgresql表,如下所示:

------------------+------------------------+------------------------
      id          +        username        +      sessionId
-------------------------------------------+------------------------
      1           +  admin                 +   sfs02asdf02sadf92sfda
      2           +  admin                 +   2adfasdfhjlweashfuwaf
      3           +  ali                   +   23asfdadsfhkjiwuqeoas
      4           +  admin                 +   aadfhlajdfjkasdh27ask
      5           +  ali                   +   hadsuiadsfhkioasdkfha
现在我想按如下方式获取数据:

页面:1,页面大小:n:

[
   ['admin', 3, 'sfs02asdf02sadf92sfda'],
   ['ali', 2, '23asfdadsfhkjiwuqeoas'],
   ...
]
如何在SpringDataJPA中获取如下数据


注意:第一项是
用户名
,第二项是
用户名计数
,第三项是
第一个会话ID
,如果您使用的是Spring数据JPA,我希望您了解分页实现。现在,对于查询,您可以编写
本机查询
,这将进入分页实现

@Query(value = "select 'expected value' * from Table", nativeQuery = true)
Page<Map<String, Object>> findSessionId(@Param("userId") Integer userId, Pageable pageable);
@Query(value=“从表中选择‘预期值’*”,nativeQuery=true)
Page findSessionId(@Param(“userId”)整数userId,可分页;
那么, 您可以使用一个函数来访问输出值并返回控制器


棘手的部分是,如果您编写了正确的SQL,则无需在服务层中执行任何操作,或者您应该在服务层中执行一些变通方法。

我将使用JdbcTemplate进行此SQL聚合查询。