【问题标题】:Hibernate last record in group using hibernate criteria使用休眠条件休眠组中的最后一条记录
【发布时间】:2016-04-06 12:40:44
【问题描述】:

我有一个包含以下字段的表格:ID (unique),type, value and createddate

数据类型分别为uniqueidentifier、varchar、datetime。

样本数据:

ID   type  value createddate

ui1 field1 value1 2016-02-13 16:39:21.100

ui2 field1 value2 2016-02-20 18:00:00.100

ui3  field2 value3 2016-02-13 16:39:21.200

ui4  field2 value4 2016-02-20 18:00:00.200

我需要检索每种类型的最新值记录。

因此预期的结果应该是这样的:

ID  type value createddate

ui2  field1 value2 2016-02-20 18:00:00.100

ui4  field2 value4 2016-02-20 18:00:00.200

我希望进行sql查询。我需要 hsql 代码来实现这个吗?

【问题讨论】:

  • 在sql中可以使用join、group by来实现,但是在hibernate查询中可以实现
  • 你可以在 HSQL 中加入和分组。

标签: java mysql hibernate


【解决方案1】:

使用这样的 HQL 查询

FROM Record r 
GROUP BY r.type 
HAVING r.createdDate >= ALL (
    SELECT r2.createdDate 
    FROM Record r2 
    WHERE r2.type = r.type
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多