JPA 2 (EclipseLink) Попытка использовать UUID в качестве первичного ключа EntityManager.find () всегда вызывает исключение (база данных - PostgreSQL )

Я пытаюсь использовать 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 Подсказка: ни один оператор не соответствует заданному имени и типу (-ам) аргументов. Возможно, вам потребуется добавить явное приведение типов.

Я действительно не знаю, как это исправить ... У кого-нибудь есть идеи?

Спасибо!

5
задан Brian DiCasa 30 October 2010 в 01:56
поделиться