У меня есть много перечислений Java, которые я сохраняю с помощью Hibernate. Насколько я знаю, существуют два разных стандартных способа сохранения этих перечислений:
@Enumerated(EnumType.ORDINAL)
Это значение по умолчанию, и оно просто сохраняет порядковый номер из перечисления.
@Enumerated(EnumType.STRING)
Здесь сохраняется имя перечисляемого значения.
До сих пор они работали нормально, но теперь у меня есть новое перечисление, в котором я хочу сохранить пользовательское значение из перечисления, которое не является ни порядковым, ни именем. Это возможно? Я искал вокруг и видел много людей, спрашивающих, как сохранить имя, что легко сделать с помощью EnumType.STRING, но я хочу сохранить int, который можно использовать для сравнения в моих SQL-запросах. Я попытался переопределить toString (), чтобы вернуть мое пользовательское значение, но это не сработало.
Я вставлю мое перечисление java ниже. Я хочу сохранить член типа int из перечисления.
Заранее спасибо!
public enum Permission {
VIEW (4),
CHANGE(6),
FULL(7);
private int value;
Permission(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}