2013-07-24 16 views
6

criteriaまたはHQLクエリを使用してテーブルの最初の行を取得するにはどうすればよいですか?基準クエリでテーブルの最初の行を取得

表作成スクリプト

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

は答えを受け入れ、人々が提供するソリューションに信頼することを助けます。 –

答えて

19

で始まる、あなたの結果セットの最初の行を表す整数をとります基準内の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) 

は、この方法では、はい、あなたがsetMaxResults &でそれを行うことができ、行0 REFER

+1

'setFirstResult'は開始行を取得するために使用しますが、その行の下からすべての行を返します。そのためには 'setMaxResults'を使わなければなりません。 –

+0

参照リンクはいいです –

+1

@JubinPatelは 'setMaxResults'と一緒に' setFirstResult'明示的ではありませんか? – 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(); 
関連する問題