嗨,请在下表和查询。这取自其他人的帖子,但完全符合我的需要。我想创建与该表下方的 sql 产生相同结果的 Hibernate Criteria(无 HQL 或 SQL)。
知道怎么做吗?
这是我尝试过但它不正确的方法。
criteria.setProjection(
Projections.projectionList()
.add(Projections.property("train"))
.add(Projections.max("time"))
.add(Property.forName("train").group())
);
火车表
Train Dest Time
1 HK 10:00
1 SH 12:00
1 SZ 14:00
2 HK 13:00
2 SH 09:00
2 SZ 07:00
SQL
SELECT t.Train, t.Dest, r.MaxTime
FROM (
SELECT Train, MAX(Time) as MaxTime
FROM TrainTable
GROUP BY Train
) r
INNER JOIN TrainTable t
ON t.Train = r.Train AND t.Time = r.MaxTime
结果
Train Dest Time
1 SZ 14:00
2 HK 13:00