ORMLiteでオブジェクトの階層を読んでいます。それは木のような形をしており、親に@ForeignCollection
は0+
子があり、すべての子はその親をで参照し@DatabaseField(foreign=true)
ます。階層全体を一度に読んで保存しています。
私はORM全般、およびORMLiteを初めて使用するため、データベース内の同じIDを持つオブジェクトが読み取られたときに、同じIDを持つ実際に同じオブジェクトとして作成されないことを知りませんでした。ただし、同じIDを持つ複数の複製として。つまり、私は今、(「->」は「参照する」を表すとしましょう)A-> B-> C!= C->B->Aという問題に直面しています。
提供されたDAOを手動で読み取り、IDでまとめて、同じIDを持つオブジェクトが同じIDを持つようにすることで、問題を解決しようと考えていました。
これを解決するORMLiteネイティブの方法はありますか?はいの場合、それは何ですか、そうでない場合、この問題を解決する一般的な方法は何ですか?これはORMの一般的な問題ですか?名前はありますか(詳しく知りたい)?
編集:
私の階層では、1つの建物に複数のフロアが含まれ、各フロアがその建物を認識し、各フロアに複数のゾーンが含まれ、すべてのゾーンがそのフロアを認識します。