今日再び Hibernate Enum Mapping を使用した後、もう少し拡張するのが良い考えかどうか疑問に思っていました。
私の考えがどこから来たのかを説明すると: もちろん、私たちはアプリケーションの正規化されたデータ モデルを目指しており、その結果、多くの場合、カテゴリ、状態、または同様のデータを含む多くのテーブルが得られます。通常、これらのテーブルには非常に少数の列 (多くの場合、PK と 1 つまたは 2 つのコンテンツ列のみ) と行があります。また、これらのテーブルの内容が変更されることはほとんどなく、まったく変更されないこともあります。
そのために列挙型を使用し、序数または整数 (どちらも Hibernate を使用しますが、任意の ORM でそれができると思います) でテーブルにマップすると、両方のパフォーマンスが向上します (結合が少ない) ) と処理 (Java の列挙型は非常にエレガントに使用できます)?
物事を少し明確にするために:
テーブル PERSONS
ID: 数値
名前: Varchar
RELATIONSHIP_STATUS_ID: 数値
テーブル RELATIONSHIP_STATUS
ID: 数値
STATUS: Varchar
内容 人:
1 | ジョン・ドウ | 1
2 | メリー・ポピンズ | 2
コンテンツ RELATIONSHIP_STATUS
1 | シングル
2 | 結婚
ここで、ステータス テーブルをダンプし、これら 2 つのステータスを列挙型にして、それを序数で列にマップします。
これは理にかなったことでしょうか?この種の設計がパフォーマンス面でより優れているかどうかに特に興味があります.