[Seasar-user:19499] 【S2Dao】 EntityManagerで上位N件取得を行う場合

黒瀬健二 [E-MAIL ADDRESS DELETED]
2010年 3月 17日 (水) 05:45:28 JST


お世話になっております。黒瀬と申します。


現在、S2Dao (v1.0.48) を利用して開発を進めているのですが
以下のような検索SQL文を発行したいと思っております。(DBはoracle)

  select * from employee 
     where name like '%aaa%' or name like '%bbb%' order by id

要はlike演算を複数orでつなげてあいまい検索をし、結果をソートしたい
わけですが、これを実現したい場合、S2DaoではEntityManagerを使うことに
なろうかと思います。(外出しSQLでは実現できないと思っておりますが
私の認識が間違っていますでしょうか?)

実は、実際は上記SQLの「上位N件取得、中間順位取得」を行いたいと思って
おりまして、oracleだとLIMIT, OFFSET句が使えないため、どのようにすれば
これが実現できるものかと思案しております。
(ROWNUM, ROW_NUMBER()関数を利用したいが、EntityManagerだとSELECT文
 部分が自動生成されて、手を入れられないと思っています。)

何か良い方法はありますでしょうか?



Seasar-user メーリングリストの案内