Hibernate Criteria在Java中按日期排序的不同字段

时间:2016-10-13 21:30:54

标签: java mysql hibernate criteria hibernate-criteria

从下表中,我想获取所有记录,但只记录任何“类型”的记录,该记录是该类型的最新“created_at”。

这是我的示例表,其中distinct应用于'type':

id | name | type | created_at 1 | foo | 1 | 2016-10-01 2 | bar | 2 | 2016-10-02 3 | baz | 2 | 2016-10-03

我希望结果是第1行和第3行,而不是2,因为它是类型2的最新created_at。

我已经尝试过以下这一行,但它只给了我一系列不同类型而不是整个记录。

Criteria criteria = currentSession().createCriteria(Product.class); criteria.setProjection(Projections.distinct(Projections.property("type"))).addOrder(Order.desc("createdAt"));

0 个答案:

没有答案