【问题标题】:How to convert TIMESTAMP into String in Hibernate?如何在 Hibernate 中将 TIMESTAMP 转换为字符串?
【发布时间】:2015-04-21 06:42:29
【问题描述】:

我想比较 Hibernate 查询中的日期。在我的数据库中,数据在TIMESTAMP 中,但我输入的是字符串,所以我想将TIMESTAMP 转换为字符串并比较我的日期。

List<User> usersList = session.createQuery("from User where CAST(DATE(created_date) as CHAR)=2015-01-19").list();

这在 MySQL 中有效,但在 Hibernate 中无效,请给我解决此问题的方法。

【问题讨论】:

  • 显然该字段是数据库中的日期,那么为什么不将您拥有的字符串转换为适当的 Date 对象并将其推送到查询中呢?

标签: java mysql database hibernate


【解决方案1】:

你可以在这里使用 SimpleDateFormat

首先从时间戳创建 Date 对象

Date  createdDateTemp= new Date(timestamMillis);

使用 SimpleDateFormat 将日期转换为格式化字符串

String createdDateString = new SimpleDateFormat("yyyy-MM-dd").format(createdDateTemp));

现在您的 HQL 查询将如下所示

List<User> usersList=session.createQuery("from User where :createdDate = 2015-01-19").setParameter("createdDate", createdDateString).list();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-10
    • 2017-06-09
    • 2011-12-07
    • 2012-08-10
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2022-10-05
    相关资源
    最近更新 更多