【问题标题】:Format date in hql query在 hql 查询中格式化日期
【发布时间】:2025-12-22 22:15:12
【问题描述】:

我想在 hql select 中将日期格式化为字符串,例如我有购买数据,其中包含交易日期:

类购买{

  私人日期日期购买

}

我想选择某种格式的日期,例如 yyyyMMdd,我可以在 hql 中这样做吗?

实际上我可以遍历查询返回的所有购买数据,并开始使用 SimpleDateFormat 格式化日期,但我不想这样做,我想在 hql 中这样做,可以吗?

仅供参考,我只想返回 id 和日期字符串,而不是所有购买字段。

谢谢大家的帮助。

【问题讨论】:

    标签: java hibernate hql


    【解决方案1】:

    您可以使用 TypeConverter 并返回一个字符串,或者使用另一个 getter 以适当的格式返回日期。

    【讨论】:

      【解决方案2】:

      日期数据将在 Date 类的实例中返回到您的应用程序。使用 DateFormat 类,您可以将日期格式化为您想要的任何格式。

      准备数据以供展示不是数据库的工作。

      【讨论】:

        【解决方案3】:

        我只想返回 id 和日期 仅字符串,并非所有购买字段。

        嗯...您正在模型类中填充日期。格式不是问题,在这里。

        但是为了演示,为什么不直接向 Purchase 添加一个方法,以您想要的格式返回 datePurchase 作为字符串?如果在您的情况下,这违反了关于什么可以/不能进入模型类的任何基本规则,您总是可以在相应的视图模型上使用这种方法,该模型会填充购买状态(甚至填充视图)直接使用格式化日期字符串的模型字段)。

        【讨论】: