私は次の状況に直面しています。
- データベースエントリは列挙型に変換されます
- これらのエントリは、列挙型定数と同じではありません
たとえば、次のエントリがあります。
列挙型にマッピングする必要があるアップルケーキAPPLE_CAKE
したがって、これには、を呼び出す前の文字の置換などが含まれvalueOf
ます。データベースエンティティをJavaオブジェクトにマッピングしているので、リフレクションを使用してマッピングします。
列挙型フィールドが見つかり、データベース値が読み取られた場合、適切なコンストラクターを呼び出す必要があります。Entity
私の現在の解決策は、カスタム静的メソッドを実装するために文書 化したマーカーインターフェイスを使用することfromString(String)
です。
このアイデアについて私が気に入らないのは、実装者が静的メソッドを実装することを強制されないことです。だから私は、そのような状況で適用できる適切な作成パターンはないのだろうかと考えていました。