Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Hibernate中将时间戳转换为字符串?_Java_Mysql_Database_Hibernate - Fatal编程技术网

Java 如何在Hibernate中将时间戳转换为字符串?

Java 如何在Hibernate中将时间戳转换为字符串?,java,mysql,database,hibernate,Java,Mysql,Database,Hibernate,我想比较Hibernate查询中的日期。在我的数据库中,数据位于时间戳中,但我的输入是字符串,因此我想将时间戳转换为字符串并比较我的日期 List<User> usersList = session.createQuery("from User where CAST(DATE(created_date) as CHAR)=2015-01-19").list(); List usersList=session.createQuery(“从用户所在位置进行转换(日期(created_D

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

List<User> usersList = session.createQuery("from User where CAST(DATE(created_date) as CHAR)=2015-01-19").list();
List usersList=session.createQuery(“从用户所在位置进行转换(日期(created_DATE)为CHAR)=2015-01-19”).List();

这是在MySQL中工作,但不是在Hibernate中,请给我这个问题的解决方案

您可以在此处使用SimpleDataFormat

首先从时间戳创建日期对象

Date  createdDateTemp= new Date(timestamMillis);
使用SimpleDataFormat将日期转换为格式化字符串

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();
List usersList=session.createQuery(“来自用户,其中:createdDate=2015-01-19”).setParameter(“createdDate”,createdDateString).List();

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