私はProject、Client、Taskのようなエンティティを持っていますが、それらのすべてに投稿のリスト(別名ディスカッション)が必要です。問題は、すべてのエンティティ(プロジェクト、クライアント、..)がそれ自身のテーブルにマップされているため、id = 1のクライアントとidを持つプロジェクトを曖昧にするので、そのエンティティを "owner_id" = 1であり、ディスカッションはプロジェクトまたはクライアントに属しているかどうかは分かりません。私は独立したディスカッションエンティティをクライアントと別の独立したディスカッションエンティティをプロジェクトに持つことを避けたいと思います(後で、別のエンティティにディスカッションを追加して、スケーラブルではないため)。私はclientDiscussionとprojectDiscussionを区別するディスカッションにdiscriminator属性(列)を追加できることを知っています。そんなことをするのが正しい方法なのかどうかは疑問だ。あなたは何を変えるのですか?複数のエンティティのディスカッションを設計する方法
0
A
答えて
0
抽象的なエンティティを作成する必要があるように思えます。
EntityType<-Entity<-EntityDiscussion->Discussion
プロジェクト/クライアント/タスクのフィールドどのように異なっていますか?
0
ディスカッションは単一のエンティティについてのみ行うことはできますか?それで、弁別器の使用が私が使用してきたアプローチであれば、明らかな代替品がなぜあなたにとって役に立たないのかを概説しました。
私の本能は現実世界でのことです。ディスカッションは常に1つの種類のものを参照するとは限りません。したがって、トピックエンティティが必要な場合もあります。ディスカッションには多くのトピックが含まれているため、弁別者の必要性が残ります。
+0
はい、ディスカッションは単一のエンティティに属します。私はjiraのようなプロジェクト管理webapp - sometehingに取り組んでいると言います。ユーザーが特定のプロジェクトやクライアントやタスクにコメントを追加する可能性があります。この場合、エンティティ自体(プロジェクト、タスク)がトピックとして機能しています。 – mawek
関連する問題
- 1. Solr - 複数のエンティティのインデックス方法
- 2. PostgreSQLの複数の列の合計を計算する方法
- 3. 複数のユーザーデータベースの設計
- 4. HTTP GETの複数のKey-ValueパラメータのREST URIを設計する方法
- 5. Sharepointディスカッション掲示板、webpartに設定とルールを複製する
- 6. JPAエンティティの設計提案
- 7. エンティティのMVCモデル設計
- 8. 複数の方法で比較できるオブジェクトをC++で設計する
- 9. デザインパターン:ゲートウェイ内から複数のエンティティを編集する方法
- 10. 多数のエンティティ定義に対するsolrスキーマ設計
- 11. 属性を持つ交差点エンティティに関するDTOの設計方法
- 12. 複数のコアでSolrの複製を設定する方法
- 13. 複数のFedoraシステムの時計を同期する方法
- 14. 複数のポリゴンの面積を計算する方法は?
- 15. Linqを使って複数のプロパティを集計する方法
- 16. 複数の変数に基づいて料金を計算するデータベース設計
- 17. 複数の行をSQLで合計する方法
- 18. MySQLで複数の移動平均を計算する方法
- 19. コアデータ複数のエンティティ
- 20. Azure計算サービスのインスタンス数をプログラムで設定する方法
- 21. プログラミング言語で整数のアクセプタを設計する方法C
- 22. SaaSデータベース設計 - 複数のデータベース?スプリット?
- 23. JTable複数のフィルタ設計パラダイム
- 24. エンティティがコンテナにコンテナを追加するエンティティを複製するとき、ドメイン駆動型設計では?
- 25. 複数の休止状態のエンティティをpksの順にロードする方法
- 26. 複数のテーブルを持つ単一のエンティティをマップする方法
- 27. ドメイン駆動型設計のエンティティ
- 28. 複数のサブクラスからエンティティのリストを永続化する方法
- 29. 複数の使用法JavaelloのForkJoin Frameworkの計算方法
- 30. ViewModelの設計方法
かなり異なっています。私は本当にクライアントとプロジェクトとタスクが共通の祖先を持つべきだとは思わない。将来、別のエンティティ(祖先を共有しない)にディスカッションを追加すると、問題は解決しません。 – mawek