gpt4 book ai didi

Spring-boot jpa如何找到具有最大值的实体

转载 作者:行者123 更新时间:2023-12-05 00:39:54 24 4
gpt4 key购买 nike

让我知道我有两张 table 。

CREATE TABLE user (ID int AUTO_INCREMENT,PRIMARY KEY (ID));
CREATE TABLE points (ID int AUTO_INCREMENT, user_id int, points int,PRIMARY KEY (ID));

如何使用 spring-boot jpa 来请求这样的用户和最大点数?

select u.ID,max(p.points) from user u, points p where u.id=p.user_id

或者有什么办法可以解决这类问题?

最佳答案

假设您有一个 RepositoryUser:

public class User {
private int id;
private List<Point> points;
...
}

Points 对象有关系:

public class Point {
private int id;
private User User;
private int points;
...
}

我没有测试,但你应该可以做到:

User findFirstByIdOrderByPointPointsDesc(int userId)

类似于 example 18 in the docs .

无论是查询还是 Spring Data,您遇到的唯一问题是您是否有两个具有相同点值的用户。如果您需要更多关于平局的逻辑,那么编写 @Query (使用您的查询,加上额外的平局逻辑)或 @NativeQuery.

关于Spring-boot jpa如何找到具有最大值的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com