Java Webアプリケーションで作業しているときに、私のモデルレイヤーを書かなければならないかどうか疑問に思っていました。たとえば、SQLデータベースに15列のテーブルUSERがあるとします。今度は、SQLですべての列を選択すると、それをJavaクラスにマップし、JSONを使用してシリアル化し、ネットワーク経由でいくつかのビューに送信し、画面に表示します。JavaモデルのベストプラクティスSQL - JSON --VIEW
2番目のシナリオでは、画面上で2つの列のみを選択したいので、SELECT c1、c2 FROM USERを実行します。私の質問がどこに来るのか...それらの列を同じJavaモデルクラスにマップする必要がありますか?または、私はそれに合うように新しいマッパーとクラスを作成する必要がありますか?両方のアプローチには欠点があるように見えますが、クエリごとに別々のクラスが必要ですが、nullをチェックしたり、オプションを使用したりするのではなく、必要はありません。
あなたの意見は?どうもありがとう!
より多くのコードがあり、より多くの作業が必要になりますが、SQLデータの異なるマッピングに1つのクラスを使用することは、アーキテクチャ上の不便です。クラスメンバーを初期化しないか、明示的に 'null'に設定する必要があります。 SOLIDアーキテクチャの原則(https://en.wikipedia.org/wiki/SOLID_(object-oriented_design))の単一責任原則を確認してください。 – deHaar