我正在尝试用Angular和Spring开发一个社交网络。
我有用户,他们可以互相关注。我的User类看起来像这样。
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;
@OneToMany(mappedBy = "following")
private List<Follow> followers;
@OneToMany(mappedBy = "follower")
private List<Follow> following;
}
是否有办法让所有用户按关注者的数量排序?
在您的UserRepository中,您可以尝试以下操作:
@Query("select u from User u order by u.followers.size")
User findAllOrderedByFollowing();
充分利用JPA。希望对你有帮助。
我肯定在MySQL中这样做了;我手头上没有这样的查询。
我想应该是
select id, count(followers) as indx from ..., collate by id, order by indx