public List<T> findRange(int start, int duration) {
Session hibernateSession = this.getSession();
List<T> results = null;
try {
hibernateSession.beginTransaction();
Query q = hibernateSession.createQuery("From " + type.getSimpleName() );
q.setFirstResult(start);
q.setMaxResults(duration);
results = q.list();
hibernateSession.getTransaction().commit();
} finally {
hibernateSession.close();
}
return results;
}
データベースから特定の行範囲を取得する上記のクエリがあります。アルファベット順または数値順ではなく、jobStatus 列で順序付けされたものを取得する必要がありますが、次の重要性があります。
case "Open":
return 1;
break;
case "On Hold":
return 2;
break;
case "Offer Extended":
return 3;
break;
case "Closed":
return 4;
break;
行 10 から 20 が必要な場合、この順序でテーブルから取得できるように、この休止状態のクエリを作り直すにはどうすればよいですか?