Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Hibernate 休眠按顺序设置日期格式_Hibernate - Fatal编程技术网

Hibernate 休眠按顺序设置日期格式

Hibernate 休眠按顺序设置日期格式,hibernate,Hibernate,在我的数据库中,我定义了一个名为“创建日期”的时间戳字段。 我想做的是有这样一个查询: SELECT * FROM table_name ORDER BY date(creation_date) desc 我的代码按原样定义(仅限相关部分): 但这会导致一个Hibernate异常 谢谢你的帮助 编辑: 创建日期保留“2015-08-17 15:01:37”,但我想按日期(创建日期)排序,只保留“2015-08-17”Hibernate criteria API不知道底层数据库的所有SQL函数。

在我的数据库中,我定义了一个名为“创建日期”的时间戳字段。
我想做的是有这样一个查询:

SELECT * FROM table_name ORDER BY date(creation_date) desc
我的代码按原样定义(仅限相关部分):

但这会导致一个Hibernate异常

谢谢你的帮助

编辑:
创建日期保留“2015-08-17 15:01:37”,但我想按日期(创建日期)排序,只保留“2015-08-17”

Hibernate criteria API不知道底层数据库的所有SQL函数。 您必须编写自定义排序类来扩展hibernate org.hibernate.criteria.Order.class。例如,检查

(或者)您可以在您的案例中使用HQL,而不是像这样的CriteriaAPI

Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
Query query = session.createQuery("from TableClass order by date(creationDate) desc ");
return query.list();

谢谢,我已经延长了订单课程,这真是太棒了!
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
Query query = session.createQuery("from TableClass order by date(creationDate) desc ");
return query.list();