2013-05-04 22 views
5

Bu kod bana iki öğenin bir listesini verir. Ama zamana göre gruplandırmalıyım.Hazırda bekleyen ölçütler grubu, tarihe göre tarihine göre

Nasıl yapılacağı konusunda bana bir ipucu verebilir mi? Teşekkürler!

2013-04-27 11: 08: Sonuç

Criteria criteria = getSession().createCriteria(Parcel.class); 

    ProjectionList projectionList = Projections.projectionList(); 

     projectionList.add(Projections.groupProperty("dateCreated")); 
     projectionList.add(Projections.rowCount()); 

    criteria.setProjection(projectionList); 


    List<Object[]> results = criteria.list(); 

00,0 | 32

2013-04-27 11: 10: 00.0 | 5

2013-04-28 15: 03: 27.0 | 12

ihtiyacım var:

2013-04-27 | 37

2013-04-28 | 12

cevap

12

Projections#sqlGroupProjection yöntemini yararlı bulabilirsiniz. date() numaralı SQL fonksiyonunuözümlerini DateTime sütunu kullanarak çalıştırmanızı sağlar. Temelde, yerine kullanılması

projectionList.add(Projections.groupProperty("dateCreated")); 

çağıran

projectionList.add(Projections.sqlGroupProjection("date(dateCreated) as createdDate", "createdDate", new String[] { "createdDate" }, new Type[] { StandardBasicTypes.DATE })); 
+0

büyük İşleri, ama sütun adının ('date_created' içinde olan varlık alanına (sizin örnekte' dateCreated') adını değiştirmek zorunda kaldı örneğiniz). Bunu yapmazsam, küçük harf * (?) (Örneğinizdeki dezavantajlı) sütunun * mevcut olmadığından şikayetçi olur. –

İlgili konular