Почему перечисление вызывает несоответствие типов при сохранении в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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