如何在Hibernate中将TIMESTAMP转换为String?

时间:2015-04-21 06:42:30

标签: java mysql database hibernate

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

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

这适用于MySQL而不是Hibernate,请给我解决此问题的方法。

1 个答案:

答案 0 :(得分:0)

您可以在这里使用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();