Почему перечисление вызывает несоответствие типов при сохранении в postgresql из JPA?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему перечисление вызывает несоответствие типов при сохранении в postgresql из JPA?

Сообщение Anonymous »

У меня есть объект пользователя, определенный как таковой

Код: Выделить всё

@Entity
@Table(name = "user_account")
public class User {
public enum Role {
CLIENT,
ADMIN
}

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

@Column(name = "username",nullable = false)
private String username;

@Column(name = "password", nullable = false)
private String password;

@Column(name = "role", nullable = false)
private Role role;
//setters and getters
}
Я добавил столбец роли таблицы как тип «роль», выполнив запрос

Код: Выделить всё

CREATE TYPE role AS ENUM('CLIENT', 'ADMIN');
Это текст моего запроса на публикацию:

Код: Выделить всё

{
"username": "a",
"password": "your_strong_password",
"role": "CLIENT"
}
Я получаю сообщение об ошибке
"org.postgresql.util.PSQLException: ОШИБКА: столбец "роль" имеет тип роли, но выражение имеет тип smallint
Подсказка : вам нужно будет переписать или привести выражение.»
Почему возникает эта ошибка (я не вижу мест, где я использую «smallint»)? Если я использую неправильный подход, предложите альтернативу. спасибо

Подробнее здесь: https://stackoverflow.com/questions/787 ... l-from-jpa

Вернуться в «JAVA»