私は今、私がクエリを定義するために休止状態を使用するレポートアプリケーションでしばらくの間働いています。しかし、ユースケースを報告するためには、これが最善の方法ではないという気持ちがますます高まっています。グループごとの上位nのような複雑なクエリにhibernateを使う最良の方法
1)クエリは部分列になります。したがって、型指定されたオブジェクトは検索されません(javaですべてのフィールドをキャストしない限り)。 2)SQLまたはhqlに直接アクセスせずにクエリを表現するのは難しいです。
私の現在の問題は、1グループあたりのトップNを取得したいということです。たとえば、グループ内の要素ごとに最後の5日間など、毎日訪問者の数を表示します。
結果は次のようになります。
| RowName | 1-1-2009 | 2-1-2009 | 3-1-2009 | 4-1-2009 | 5-1-2009
| SomeName| 1 | 42 | 34 | 32 | 35
このような出力に行ごとに日ごとに保存されたデータを変換するための最善のアプローチは何ですか?それは通常のSQLに戻って、型の指定されていないデータで作業する時間ですか?
私は実際に結果に型付きオブジェクトを使用したいと思いますが、Javaではそれを行うのがかなり難しくなります。どんな提案も歓迎です!
これはトップ確かです私の質問で明白に言及されているように、グループごとではありません。 – TomHastjarjanto
あなたの例から、データの行が日付であるかどうかは不明ですし、集計を列にピボットしていますか?そうであれば、ProjectionListと 'sum' Projectionを使ってHibernateで総和を行い、アプリケーションでピボットを実行できます。 –