我说我有两张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来请求像这样的user和max积分?
select u.ID,max(p.points) from user u, points p where u.id=p.user_id
型
或者有其他方法来解决这类问题吗?
4条答案
按热度按时间unftdfkk1#
假设你有一个
User
的Repository
:字符串
与
Points
对象的关系:型
我没有测试过,但你应该能够做到:
型
类似于文档中的示例18。
无论是查询还是Spring Data,唯一的问题是如果你有两个用户具有相同的点值。如果你需要更多关于平局打破的逻辑,那么写一个
@Query
(带你的查询,加上额外的平局打破逻辑)或@NativeQuery
可能更值得。uqzxnwby2#
我通常创建一个类来保存结果,
字符串
并在存储库中编写一个自定义查询来获取数据
型
将com.package.result替换为Result类的适当路径。
rkttyhzu3#
下面的方法可以在Repo中编写,并在dao层中用作Transaction,可以从服务层访问。
字符串
v1l68za44#
创建数据模型。
字符串
然后像这样写你的查询来获取数据的模型。
型