我怎样才能获得jpa中的rownum?

时间:2015-05-12 14:24:42

标签: java oracle hibernate jpa

我的表名是t_user_score,如下所示:

id   name   score
1    alice   15
2    bob     13
3    tom     17

我希望按分数获得用户的排名顺序。

例如,我想得到鲍勃的排名。在SQL中,我可以使用:

select rank from 
     (select rownum as rank, id, name, score from t_user_score order by score)
where id = 2

但是使用JPA,我不知道怎么做。

3 个答案:

答案 0 :(得分:1)

总之,JPA不支持这样做。如果想获得排名,请使用nativeQuery。

答案 1 :(得分:0)

select * from t_user where id = 2 order by score

它会返回一个列表,列表的大小将是rownum。

答案 2 :(得分:0)

列表列表= list.stream()。limit(10).collect(Collectors.toList());

以上述方式使用