エンティティがあるとしますuser (id, name, user_type, address, access_level, and_so_on)
user_type
ここで2 つのプロパティが重要access_level
です。user_type および access_level フィールドに固定値があることはわかっていますが、1、2、または 3 の意味を思い出すのは難しいため、これらの値の定数を作成して名前でアクセスします。user_type 値が 1 の場合、通常のユーザー、2 は CSV ユーザー、3 は管理者ユーザー、4 は root ユーザーを意味します。
通常、これらの定数は、この値をデータベース (またはどこにでも) に保存するためのフィールドを含む同じエンティティ Bean クラスで定義します。
public UserBean implements IBean {
...
/**
* constant for user type
*/
public static final int USER_TYPE_NORMAL = 1;
public static final int USER_TYPE_CSV = 2;
public static final int USER_TYPE_ADMIN = 3;
public static final int USER_TYPE_ROOT = 4;
/**
* constant for Access level
*/
public static final int ACCESS_LEVEL_SILVER = 1;
public static final int ACCESS_LEVEL_GOLD = 2;
public static final int ACCESS_LEVEL_DIMOND = 3;
...
}
私の質問は、それらを定義するのに最適な場所 (およびその理由) はどこですか? (私は考えることができますが、任意のメソッドを定義できます)
- 上記と同じクラス内。
UserBean
これを行うのは、そのユーザーを知っている場合、その関連情報がクラスで見つかり、自動エンティティ生成ツールがそれらを上書きする可能性があるため、他に何も覚える必要がないためです)。 - ユーザーに関連するすべての定数を含む新しいクラスを作成します。その定数クラスの名前は何にする必要がありますか (覚えやすい/推測しやすい)?
- 定数の種類ごとに 2 つの個別のクラスを作成します (より多くの依存関係)?