gpt4 book ai didi

spring-data-jpa - 带 DISTINCT ON 的 JpaRepository 方法名称

转载 作者:行者123 更新时间:2023-12-01 18:31:40 24 4
gpt4 key购买 nike

我正在创建 Spring 应用程序,并使用 JpaRepository 来简化数据库查询。

我在使用 DISTINCT ON 的 JpaRepository 约定创建方法名称时遇到问题。这是我的 SQL 查询:

SELECT DISTINCT ON (s.device_id)
s.status_id,
s.error,
s.receive_time,
s.device_id
FROM statuses s
ORDER BY s.device_id, s.receive_time DESC

我尝试了这样的名称,但它不起作用:

List<Status> findDistinctByDeviceId_OrderByReceiveTimeDesc();

这是我的类(class)(简化):

public class Status {
private long status_id;
private String error;
private Date receive_time;
private Device device_id;
}

public class Device {
private long device_id;
private String name;
}

是否可以在方法名称中使用 DISTINCT ON ?我不想使用 SQL 查询,因为我的类比上面复杂得多,并且我想添加每个字段来查询。

最佳答案

我使用了类似的东西并且它有效:

@Query(value = "select distinct on (s.device_id) s.* " +
"from statuses s " +
"order by s.device_id, s.receive_time desc",
nativeQuery = true)
public List<Status> getStatuses();

关于spring-data-jpa - 带 DISTINCT ON 的 JpaRepository 方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41238391/

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