Я пытаюсь использовать UUID для первичного ключа, используя JPA 2 (EclipseLink). Я использую PostgreSQL в качестве базы данных. Моя сущность объявлена следующим образом: у меня есть таблица сотрудников, в которой ее PK установлен как UUID. У меня есть сопоставление объекта JPA с таблицей сотрудников, которое выглядит следующим образом:
@Entity
public class Employee {
@Id
private String id;
...
...
}
Когда я вызываю EntityManager.find (Employee.class, id)
, я получаю исключение от postgres:
Внутреннее исключение: org. postgresql.util.PSQLException: ОШИБКА: оператор не существует: uuid = символьный изменяющийся
Подсказка: ни один оператор не соответствует заданному имени и типу (-ам) аргументов. Возможно, вам потребуется добавить явное приведение типов.
Я также пытался изменить идентификатор в классе Employee на java.util.UUID, но затем получил следующее (очень похожая ошибка):
Внутреннее исключение: org. postgresql.util.PSQLException: ОШИБКА: оператор не существует: uuid = bytea uuid = символ варьируется
Подсказка: ни один оператор не соответствует заданному имени и типу (-ам) аргументов. Возможно, вам потребуется добавить явное приведение типов.
Я также пытался изменить идентификатор в классе Employee на java.util.UUID, но затем получил следующее (очень похожая ошибка):
Внутреннее исключение: org. postgresql.util.PSQLException: ОШИБКА: оператор не существует: uuid = bytea uuid = символ варьируется
Подсказка: ни один оператор не соответствует заданному имени и типу (-ам) аргументов. Возможно, вам потребуется добавить явное приведение типов.
Я также пытался изменить идентификатор в классе Employee на java.util.UUID, но затем получил следующее (очень похожая ошибка):
Внутреннее исключение: org. postgresql.util.PSQLException: ОШИБКА: оператор не существует: uuid = bytea Подсказка: ни один оператор не соответствует заданному имени и типу (-ам) аргументов. Возможно, вам потребуется добавить явное приведение типов.
Я действительно не знаю, как это исправить ... У кого-нибудь есть идеи?
Спасибо!