通常、Spring MVCを使用して、コントローラ、サービス、およびリポジトリのレイヤーが表示されます。リポジトリ層は、データベースとの1対1マッピングであるエンティティモデルを使用します。私は次のことを考えました -MVCアーキテクチャDTO /モデルマッピング/変換
- サービス層は同じエンティティモデルを使用する必要がありますか?
- サービス層は個別のドメインモデルを使用する必要がありますか?はいの場合は、サービス層でのTo/Forマッピングを行う必要がありますか?
- コントローラのレイヤは同じドメインモデルを使用する必要がありますか?
- コントローラーレイヤーは別々のDTOモデルを使用する必要がありますか?はいの場合は、コントローラーレイヤーでTo/Forマッピングを行う必要がありますか?
- 冗長なコードをあまり書き込まなくても簡単にマッピングできますか?私は過去数回ドーザーを使用しました。
この質問は尋ねられたかもしれませんが見つかりませんでした。重複した質問のために私を許しなさい。
>エンティティモデルでは、DTOオブジェクトを引数として受け入れるオーバーロードされたコンストラクタも公開する必要があります エンティティに依存エンティティ(一対多の関係)がある場合はどうなりますか? DTOでは、それぞれのIDを格納することができますが、DTO→エンティティ変換では、これらのIDによるサブエンティティのフェッチが必要になります。それを受け入れる方法は何ですか? –
その場合、DTOからEntityモデルへの変換および変換を管理するファクトリオブジェクトを作成します。このファクトリオブジェクトにサービスを注入して、idでオブジェクトを見つけることができます。 – Bnrdo