ORM ツールを導入すると、アーキテクチャがよりクリーンになると思われますが、効率化のために、ORM ツールをバイパスして、JDBC Result Set を反復処理することが時々あります。これは、よりクリーンなアーキテクチャではなく、調整されていないアーティファクトのもつれにつながります。
これは、無効なコンテキストでツールを適用しているためですか、それともそれよりも深いですか?
ORM アプローチを完全に独り占めできるのはいつですか?
どんな洞察も大歓迎です。
背景の少し:
私の環境では、約 50 台のクライアント コンピューターと、かなり強力な SQL Server が 1 台あります。
50 クライアントすべてが常にデータにアクセスしているデスクトップ アプリケーションがあります。
プロジェクトのデータ モデルは、明確性、効率性などのさまざまな理由から、多くの再編成を経てきました。
私のデータモデルの歴史
- JDBC が直接呼び出す
- Pojo 間の関係のない DAO + POJO (基本的に JDBC をラップ)。
- 遅延読み込みを実装する POJO 間の関係を追加しましたが、DAO 間の呼び出しを非表示にするだけです
- Hibernate の時流に飛び乗ったのは、Hibernate の時流に飛び乗ったのは、Hibernate がデータ アクセスをいかに「シンプル」にするか (POJO 間の関係が些細なものになった) を見てからでした。
- セッションを長期間開いたままにしておくのはデスクトップアプリケーションだったので悪夢だったので、最終的には多くの問題を引き起こしました
- Hibernate を使用しながら、DAO カーテンの背後で直接 JDBC 呼び出しを行うことができる、部分的な DAO/Hibernate アプローチに戻りました。