すでに動作しているアプリケーションのいくつかのフィールドに注釈 @Enumerated があります。列挙値が変更された場合の問題を防ぐために、 @Enumerated(EnumType.STRING) に変更するように言われました。データベースはすでに入力されているため、質問は
データベースの値を 1,2,3.. から Enum クラスの対応する文字列値に変更するにはどうすればよいでしょうか?
この注釈をマークすると、ORM ライブラリは、Enum.valueOf() 関数を使用して String を Enum 値に自動的に変換しようとします。したがって、DB には Enum の String 形式、つまり Enum 値の toString()/name() 表現が含まれている必要があります。
値を維持してDBを変更する方法を尋ねている場合は、いくつかの手順で実行する必要があると思います(値を切り替える基本的なアルゴリズム):
これは非常に詳細であり、これがあなたが求めているものかどうかはわかりません...