[解決済み] DAOパターンとRepositoryパターンの違いは何ですか?
2022-03-19 07:24:15
質問
データアクセスオブジェクト(DAO)パターンとリポジトリパターンの違いは何ですか?Enterprise Java Beans(EJB3)、インフラストラクチャとしてHibernate ORM、設計手法としてドメイン駆動設計(DDD)およびテスト駆動開発(TDD)を使用して、アプリケーションを開発しています。
解決するには?
DAO
を抽象化したものです。
データ永続化
.
Repository
を抽象化したものです。
オブジェクトの集合体
.
DAO
は、よりデータベースに近いと考えられ、テーブル中心であることが多い。
Repository
はドメインに近いと考えられ、Aggregate Rootsのみを扱います。
Repository
を使用して実装することができます。
DAO
のように、その逆はしないでしょう。
また
Repository
は一般に狭いインターフェイスです。 単純にオブジェクトの集合体であるべきで、その中に
Get(id)
,
Find(ISpecification)
,
Add(Entity)
.
のようなメソッドは
Update
が適切です。
DAO
を使用することはできませんが
Repository
- を使用する場合
Repository
エンティティへの変更は、通常、別のUnitOfWorkによって追跡されるでしょう。
という実装はよく見かけるようです。
Repository
であり、実際には
DAO
そのため、両者の違いについて混乱があるように思います。
関連
-
同じ識別子値を持つ別のオブジェクトがすでにセッションと関連付けられていました。
-
引数型[java.lang.String]の名前がない、またパラメータ名情報が
-
同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられている場合。
-
原因:java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource
-
[解決済み] Java Persistence APIにおけるFetchType LAZYとEAGERの違い?
-
フィールド 'ID'にデフォルト値がない
-
hibernate exception "Found shared references to the collection" (コレクションへの共有参照が見つかりました。
-
[解決済み】サービスは常にDTOを返すべきですか、それともドメインモデルも返すことができますか?
-
[解決済み] JPAとSpring Data JPAの違いは何ですか?
-
[解決済み] KotlinとJPA:デフォルトのコンストラクタ地獄
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
同じ識別子値を持つ別のオブジェクトがすでにセッションと関連付けられていました。
-
MappingNotFoundException: resource:**.hbm.xml not found solution for Hibernate
-
Hibernateのhqlです。INSERT INTO ...のみ SELECT ... 形式のみがサポートされます。
-
引数型[java.lang.String]の名前がない、またパラメータ名情報が
-
LazyInitializationException: ロールのコレクションを遅延して初期化できませんでした。
-
原因:java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource
-
org.springframework.dao.DataIntegrityViolationException の解決策について
-
フィールド 'ID'にデフォルト値がない
-
hibernateExceptionFound コレクションへの共有リファレンス
-
[解決済み] KotlinとJPA:デフォルトのコンストラクタ地獄