この質問があまりにもオープンエンドであるか曖昧な場合は私を許してください。ここでの私の意図はあなたの意見を得ることであり、ここで正しい/間違った答えではありません。私は、さまざまなテーブル/ビューに存在するさまざまな属性を選択し、それらをフィルタリングし、集約し、それらをグループ化することによって、エンドユーザーが随時レポートを生成できるようにするJavaベースのレポートアプリケーションを設計するつもりです。 ORMをデータアクセスとデータベース抽象化に使用するかどうかについて、私の同僚のグループと面白い会話をしています。 ORMの主な目的は、開発者が物理的構造(表、列など)よりもオブジェクトの観点から考えることを完全に開始しなければならないことを理解しています。私は個人的には、特に動的な性質と実行時に複数のテーブルを関連させたり、さまざまな集約を機能別にグループ化したりする柔軟性のために、アドホックなレポート作成がORMを使用することはあまりありません。 ORMの使用を無効にするため、ORMを使用してネイティブSQLを構築するのは良いと生産的な考えではないでしょうか。思考?Java | ORM |休止状態|報告アプリケーションの考えのために
0
A
答えて
0
通常、このようなレポートは、複数のソース(エンティティ)からのデータを結合するだけでなく、複雑なフィルタリングや集計を追加します。
SQLベースのアプローチははるかに柔軟で、はるかに優れたパフォーマンスを備えています。
SQLを既存のエンティティにマッピングすることはできますが、私の経験から、純粋なエンティティよりはるかに頻繁に別のDTOが必要になります(90%のレポートの列が違うと言います)。他のテーブルなどを使用して列が時々少ない場合があります。
したがって、純粋なSQLであり、マッピングにはJDBCTemplateを使用できます。 MyBatisをクエリに追加することもできます。
ORMはからCRUD
(とR getByIdとgetAllの最も単純なケース)をカバーするのが良いです。複雑なR(読取り)はORMから実行する必要があります。
ちょうど私の2セントです。
関連する問題
- 1. 休止状態で休止状態
- 2. (休止状態)
- 3. 休止状態
- 4. 制限または休止状態(Java)
- 5. 休止状態:
- 6. 休止状態:
- 7. 休止状態:休止状態の接続を変更する
- 8. 休止状態のセッションが休止状態でヌルである
- 9. Java JPA /休止状態のカスケード削除
- 10. たちは休止状態
- 11. 休止状態データ例外(JavaのWebアプリケーション)
- 12. は休止状態
- 13. データベース+休止状態
- 14. ロンボク(休止状態)
- 15. 休止状態:session.load
- 16. 休止状態:エラーサブクエリ
- 17. 休止状態 - リンクエンティティ
- 18. 休止状態4
- 19. が休止状態
- 20. は休止状態
- 21. 休止状態:クエリメタデータ
- 22. と休止状態
- 23. 休止状態 - 別
- 24. が休止状態
- 25. 休止状態:私は休止状態を勉強
- 26. 休止状態の削除
- 27. 休止状態の質問
- 28. 休止状態のロールバック
- 29. 休止状態のSpringユーザートランザクション
- 30. 休止状態のニュアンスセッション
JDBC /ネイティブSQLは、休止状態、JPAなどの任意のORMと比較して、レポート処理が高速です。ここの違いを参照してください - https://stackoverflow.com/questions/1575762/orm-technologies-vs-jdbc –
ネイティブクエリーがここに入りますか?はい、ネイティブクエリのみを記述する必要がある場合、Hibernateを使用することはあまり意味がありません。 –