Я пытаюсь использовать UUID для первичного ключа, используя JPA 2 (EclipseLink). Я использую PostgreSQL в качестве базы данных. Моя сущность объявлена следующим образом: у меня есть таблица Employee с установленным в качестве UUID PK. У меня есть сопоставление сущности 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
Подсказка: ни один оператор не соответствует указанному имени и типу аргумента. Возможно, вам придется добавить явные приведения типов.
Я действительно не уверен, как это исправить ... у кого-нибудь есть идеи?
Спасибо!