ディクショナリを表現する「標準的な」方法はありますか - Java 永続化によって維持 - データベース?
人々のテーブルがあり、「職業」という列があるとしましょう。
職業のセットは制限されていますが、拡張することができます。一部の職業は、軍人や医師など、システムにとって特別な意味を持っています。
- hereに示すように、職業に列挙型を使用し、データベースに文字列 (name() メソッド) 値を格納できます。シンプルで読みやすいです。
- データベースでは、職業 (id、name_of_profession) を持つディクショナリ テーブル 'profession' と、テーブル 'profession' からの外部キー (id_profession) を持つテーブル 'people' を持つことができます。enum には、'profession' テーブルの id 列にマップされた Integer id 値があります。
最初の解決策は短くて簡単です。しかし、その場合、アプリケーションのないデータベースには整合性がありません。2番目の「レガシー」方法は不適切ですか?