2013-07-24 3 views
6

Как я могу получить первую строку таблицы с помощью criteria или HQL запроса?Получение первой строки таблицы по запросу запроса

создания Таблицы сценарий

CREATE TABLE MonthlySubscriber(MSISDN bigint(20) 
    NOT NULL, MonthOfYear int(11) NOT NULL, 
    PRIMARY KEY (MSISDN)); 
+0

Принять ответ и помочь людям доверять на условии решения. –

ответ

19

Да, вы можете сделать это с setMaxResults & setFirstResult в критериях

Образец кода

Criteria queryCriteria = session.createCriteria(MonthlySubscriber.class); 
queryCriteria.setFirstResult(0); 
queryCriteria.setMaxResults(1); 
monthlySubscriberList = queryCriteria .list(); 
+0

Почему .setFirstResult (0)? –

-1
public Criteria setFirstResult(int firstResult) 

Этот метод принимает целое число, которое представляет собой первую строку в результирующем наборе, начиная с рядом 0. REFER

+1

'setFirstResult' использовать, чтобы получить начальную строку, но он дает все строки ниже этого. для этого необходимо использовать 'setMaxResults'. –

+0

ссылка ссылка хорошая –

+1

@JubinPatel не 'setFirstResult' явно в сочетании с' setMaxResults'? – Dragon

0

вы могли бы сделать это так:

Session session = getHibernateTemplate().getSessionFactory().getCurrentSession(); 
     String sql= "select b.wcd, a.optime from UseWaterRecord a, WellBasicInfo b where a.stcd=:a_stcd and b.stcd=:b_stcd ORDER BY a.optime desc"; 
     Query query = session.createQuery(sql); 
     query.setString("a_stcd", "10100405"); 
     query.setString("b_stcd", "10100405"); 
     query.setFirstResult(0); 
     query.setMaxResults(1); 

     List wrwmList = query.list(); 
Смежные вопросы