web-dev-qa-db-ja.com

Javaデータベースに裏打ちされた部分的な列挙型

次の問題があります:

私のJavaコードで列挙型を使用する必要があります。なぜなら、ビジネスロジックでif(someting == enumname.VALUE_ENUM){...のようなものを尋ねる必要があるからです...コンパイル時のすべての列挙型-私はそれらを持っていますが、(enumname varのすべての列挙値をループする必要がある場合を除いて、ビジネスロジックで使用しない列挙型が多すぎます。 enumname.value()){...

これは実際のエンティティに似ています(DBにはIDと多くのプロパティがあるため)が、if(something == object.getByString( "VALUE_ENUM"))と入力するのは見苦しく見えます

それを行うためのより穏やかな方法はありますか?

2
Marko Kraljevic

誰かがそれを必要とする場合、ここで解決策を見つけました...

http://niceideas.ch/roller2/badtrash/entry/Java_create_enum_instances_dynamically

そしてこれはコンパイル時のソリューションを備えたものです:

https://bojanv55.wordpress.com/2015/05/25/Java-dynamic-enums/

0
Marko Kraljevic