В БД есть две таблички t_statuses
и t_operators
. В первой значения (-1 - BANNED, 0 - OFFLINE, 1 - ONLINE)
, во второй собственно операторы, статус которых - внешний ключ (status_id
) на первую таблицу. В java коде я вместо entity-класса для статусов сделал enum:
public enum OperatorStatus {
BANNED(-1), OFFLINE(0), ONLINE(1);
private int id;
OperatorStatus(int id) { this.id = id; }
public int getValue() { return id; }
}
В базе имеется одна запись со статусом 0 - OFFLINE
. Если в классе Operator
поле статуса сделать типом Integer, то 0 в него и устанавливается. Но, если я создаю поле типа OperatorStatus
, его значение становится равным BANNED
, т.е. -1. С чем связано такое различие?
когда создаешь поле типа OperatorStatus
, думаю ты присваиваешь значение с os.ordinal()
равным 0
- т.е. первое из списка
int
/Integer
тоже присваеваются нулю при инициализации
P.S. как ты объявляешь поле типа OperatorStatus
и у тебя не возникает NullPointerException
?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я сделал выпадающий список меню элемента select и установил определенную категорию со значением value="4"
ЗдравствуйтеСделал форму для добавления изображений и нужно сделать так, чтобы при выборе новых изображений не пропадали те которые пользователь...