2

エンティティ「何か」があり、この何かが何らかの「データ」と 1 対多 (数百万の因数) の関係を持っているとします。

Something 1 -> * Data
Data 1 -> 1 Something

いくつかのデータ オブジェクトを追加する場合は、次のようにします。

Something.getDataList().add(Data)

これは実際にはデータベースからすべてのデータオブジェクトをプルしますが、これは最適ではありません。

ただし、Something からリレーションシップを削除して Data に残すと、DAO を使用して要求したオブジェクトを正確に追加および取得できます。

Something
Data 1 -> 1 Something

データ アクセス インターフェイスは次のようになります。

Something.addData(Data) // will use DataDAO to save object

また

Something.addData(List<Data>) // will use same DataDAO batch insert

これについてのガイダンスが必要です.JPAの知識が不足している可能性があります.これは必要ありませんか? また、データはメソッドによって提供されますが、実際にはエンティティに含まれていないため、エンティティがこのように自然ではないため、わかりません(これが正しい場合、パフォーマンスが重要な操作を扱う場合は、1対多の関係をすべて削除する必要がありますこれも不自然です)。

私の特定のケースでは、データベースを定期的に更新する多くの REST コンシューマーがいます。私はObjectDB、JPAを使用しています...しかし、質問はここではより抽象的です。

4

1 に答える 1