タグ付けされた質問 「class-table-inheritance」

8
データベースで継承をどのように表すことができますか?
SQL Serverデータベースで複雑な構造を表現する方法について考えています。 オブジェクトのファミリの詳細を格納する必要があるアプリケーションを考えてみてください。これらのオブジェクトは、いくつかの属性を共有しますが、他の多くの属性は一般的ではありません。たとえば、商業保険パッケージには、同じ保険証券レコード内の負債、モーター、財産、および補償の補償が含まれる場合があります。 セクションのコレクションでポリシーを作成できるため、C#などでこれを実装するのは簡単です。セクションは、さまざまなタイプのカバーに必要に応じて継承されます。ただし、リレーショナルデータベースでは、これを簡単に行うことができないようです。 主に2つの選択肢があることがわかります。 Policyテーブルを作成し、次にSectionsテーブルを作成します。可能なすべてのバリエーションについて、すべてのフィールドが必須であり、ほとんどがnullになります。 カバーの種類ごとに1つずつ、ポリシーテーブルと多数のセクションテーブルを作成します。 特に、すべてのセクションにまたがるクエリを記述する必要があるため、これらの方法はどちらも不十分であるように見えます。 このシナリオのベストプラクティスは何ですか?

6
<union-subclass>(TABLE_PER_CLASS)ではID列キー生成を使用できません
com.something.SuperClass: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class SuperClass implements Serializable { private static final long serialVersionUID = -695503064509648117L; long confirmationCode; @Id @GeneratedValue(strategy = GenerationType.AUTO) // Causes exception!!! public long getConfirmationCode() { return confirmationCode; } public void setConfirmationCode(long confirmationCode) { this.confirmationCode = confirmationCode; } } com.something.SubClass: @Entity public abstract class …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.