2014-01-25 5 views
0

Я хотел бы реализовать следующий SQL запрос с Hibernate Criteria:с помощью проекции для извлечения определенных столбцов с помощью критериев

select abc_id, count(*) from boa_rep_deed where sync_system = ? And hook_id = ? group by abc_id order by abc_id 

, что я пытался это ...

List<teedObject> hytlow = null; 
     Criteria criteria = session.createCriteria(teedObject.class); 
     criteria.add(Restrictions.ne("abcID ", abcID)); 
     criteria.add(Restrictions.eq("syncSystem", syncSystem)); 
     criteria.add(Restrictions.eq("hookId", hookId)); 

     hytlow = criteria.list(); 

Теперь мой вопрос у меня есть соответствующее pojo для этого также, как показано ниже.

class teedObject 
{ 

    private long abcID ; 
    private String syncSystem ; 
    private String hookId; 

    //and consisits other properties and setters and getters 

} 

Теперь я хочу, чтобы мои критерии для извлечения только определенных столбцов, чтобы сделать объект lighterso тем, что я должен использовать прогнозы в критериях, можете ли вы посоветовать, как использовать проекции в моем случае, чтобы извлекать только определенные coulmns

ответ

0

Критерии cr = сеанс .createCriteria (teedObject.class);

cr.add (Restrictions.eq ("syncSystem", syncSystem));

cr.add (Restrictions.eq ("hookId", hookId));

cr.addOrder (Order.asc ("abcID"));

cr.add (Projections.groupProperty ("abcID")));

cr.setProjection (Projections.rowCount());

hytlow = cr.list();

Смежные вопросы