2

さまざまなエンティティとそのドキュメント (PDF、TIFF などのバイナリ) との関係をモデル化するためのベスト プラクティスに関する提案を探しています。エンティティは、PostgreSQL データベースに格納された標準の JPA/Hibernate です。ドキュメント自体は MongoDb データベースに保存されます。

計画では、ドキュメントを表す子エンティティを作成します。これには、必要に応じて取得するためのバイナリ データの ID が含まれます。しかし、関係はどうなるでしょうか?

親エンティティごとにこれらのドキュメント エンティティを 1 つだけ作成すると、単純な 1 対多の関係が機能しますが、それは冗長に思えます。

ドキュメントがどのエンティティに属しているかを示す「タイプ」列を配置し、「id = ? and type = ?」という名前のクエリでドキュメント テーブルをクエリするだけです。私はそれがうまくいくと思いますが、私も夢中になっていない何かがあります - それについて私の指を置くことはできません:)

私が検討したもう 1 つのオプション (これまで使用したことがなく、もう少し勉強する必要があることは認めますが) は、結合テーブルで単方向の 1 対多を使用することです。ただし、親キーが重複しないという保証はないため、これも機能するとは思いません。私はすべての基本的なリレーション テーブルの主キーに単一のシーケンスを使用しています。

最後に、エンティティを作成してから親エンティティごとに拡張するかどうかを検討しましたが、それには同じ欠陥があると思います-一意でない親 ID の理論的な存在。

最終的な決定を下す前に、コミュニティが他にどんな提案を提供してくれるか見てみたいと思います。

あなたのアイデアを前もってありがとう。

4

1 に答える 1

0

親エンティティごとにこれらのドキュメントエンティティを作成した場合、単純な1対多の関係が機能しますが、それは冗長に思えます。

私は少し混乱しています。親ごとにドキュメントを作成する場合、それは1対1であり、1対多ではありませんか?1対多の関係が必要なようです。この場合、それを参照するすべての親エンティティに対して1つのドキュメントのみを作成します。

于 2012-08-01T16:19:23.213 に答える