【发布时间】:2020-05-07 17:16:52
【问题描述】:
我有一个实体如下:
@Entity(name = "TEMP_TABLE")
public class TempEntity {
@Id
private UUID id;
private String name;
private String addressLine;
@Convert(converter = ZonedDateTimeConverter.class)
private ZonedDateTime createdDateTime;
}
我想使用JPA 和criteria builder 执行以下查询:
SELECT
T1.*
FROM
TEMP_TABLE T1
INNER JOIN
(
SELECT
name,
MAX(created_date_time) AS MaxDateTime
FROM
TEMP_TABLE
GROUP BY
name
) T2
ON T1.name = T2.name
AND T1.created_date_time = T2.MaxDateTime;
目的是从TEMP_TABLE获取每个名称的最新记录(包含所有列)。
你能帮帮我吗?
【问题讨论】:
-
看起来
TEMP_TABLE.*应该是T1.*或T2.*? -
抱歉,我已经更正了
标签: hibernate jpa criteria criteria-api jpa-2.1