У меня есть существующая база данных, к которой я сейчас подключаюсь, используя hibernate.Я не могу изменить данные в нем в данный момент и у меня все работает, кроме одного столбца.
У меня есть столбец состояния, который имеет значения:
И столбец отображается следующим образом:
@Column(name = "STATUS", nullable = false, length = 50)
@Enumerated(EnumType.STRING)
private TeamMemberStatus status;
Я бы ДЕЙСТВИТЕЛЬНО хотел (для приложенияпричины), чтобы этот столбец отображался как Enum Java (TeamMemberStatus), , но из-за того, что 'new' является ключевым словом в Java , я не могу иметь это как член перечисления.
Если у меня есть константы enum NEW, MAILED, IN и OUT в спящем режиме гибернации, то как внутри EnumType это делает Enum.valueOf ().
Есть ли способ для меня сопоставить это с моим Enum без необходимости писатьcomplex UserType?
- добавлено содержимое
My Enum примерно так:
public enum TeamMemberStatus {
NEW, MAILED, IN, OUT
}
является допустимым перечислением Java, но не соответствует регистру базы данных.Если я изменю его, чтобы он соответствовал базе данных, например:
public enum TeamMemberStatus {
new, mailed, in, out
}
Он не скомпилируется, поскольку 'new' - это зарезервированное слово Java.