私は、OOデータベースを見るのは時間切れだと思って、次の小さなプロジェクト、つまり小さなライブラリにdb4oを使うことに決めました。書籍、カテゴリー:オブジェクトデータベースで多対多の関係を設計するにはどうすればよいですか?
は、次のオブジェクトを考えてみましょう。
ブックは0 nカテゴリにあり、カテゴリは0 mブックに適用できます。
私の最初の考えは、BookCatecoryのような結合オブジェクトを持っていることですが、ある程度のGoogle検索の後、これは「Real OO」には適していないことがわかります。
もう1つのアプローチ(多くの人に推薦される)は、両方のオブジェクトにリストを持たせることです:Book.categoriesとCategory.books。片側が関係を処理する:Book.addCategoryはCategoryをBook.categoriesに追加し、BookはCategory.booksに追加します。 1つのメソッド呼び出しで2つのオブジェクトが変更された場合のコミットとロールバックの処理方法
あなたの考えは? 2番目のアプローチには明白な利点がありますが、少なくとも私にとっては、最初の「感じる」権利(より良い規範)があります。
私は、dbschemaの作成、テーブルの作成、オブジェクトの作成、オブジェクトへのテーブルのマッピングなどを避けることができたかどうかを確認したいと考えていました.Odbmsがロバの作業をたくさん切ってしまうようです... – paul
その仕事のいくつかを切り捨てるが、まともなORM層もそうだ。私は、ODBMSが間違った選択であると言っているわけではありませんが、あなたにもより良いサービスを提供する選択肢があります。 –