Enum の必要性

DB にコードマスタがあるから Enum とかは必要が無いって言う人が居るけど、それは間違いだと思っている。何故なら業務ロジックを java で書く時に殆ど必ずと言って良い程に必要になるから。Enum や定数が無いと "1" ってリテラルで書くしか無くなる。無理矢理コードマスタを活用して "1" って書かない様にするとしても "花" ってラベルでコードマスタを検索する事になるだけで、根本的な解決には全くならない。だから Enum は必要。必要な定数だけ作れば良いじゃないかって思うかもだけど、そんな事するぐらいならコードマスタから Enum クラス群を自動生成しちゃえよって事になる。
運用中にコードマスタに追加や変更が多発する場合は、確かに Enum との乖離が発生して行く事になるけど、どっかのタイミングでソースコード再生成とリビルドとデプロイをすれば良いだけだ。注意して欲しいのは、ドロップダウンリストの中身は必ず DB から取得するとか、コード→ラベル変換には必ず DB を使うとか、コードの妥当性チェックには必ず DB を使うとか、その他にも似た様な事に関するルールの徹底とかが必要になるって事。