Hibernate продолжает запрашивать hibernate_sequence при попытке сохранить DTO с сгенерированным UUID - PullRequest
0 голосов
/ 14 декабря 2018

Я использую dropwizard-hibernate и postgres (hibernate версия 5.3.7)

Для моего DTO у меня есть базовый DTO, который содержит поля ID (все DTOS расширяют этот класс)

В схеме базы данных Id выглядит следующим образом

id uuid default gen_random_uuid() not null

Моя конфигурация для идентификатора выглядит следующим образом:

    @Id 
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid2")
    private UUID id;

Теоретически это должно работать, но каждый раз, когда я пытаюсь сохранитьобъект, я получаю сообщение об ошибке:

ERROR: relation \"hibernate_sequence\" does not exist\

Я пробовал все, и ничего не работает .. Я пробовал только с @Id и @GeneratedValue (согласно последней документации hibernate, которой должно быть достаточно для конфигурации UUID) и многие другие комбинации аннотаций, но каждый раз, когда я пытаюсь сохранить сущность, я получаю проблему с отсутствующей последовательностью.

Я знаю, что мог бы "исправить это", просто добавив в базу данных таблицу hibernate_sequence, но она мне вообще не нужна.

1 Ответ

0 голосов
/ 21 декабря 2018

Я использовал это, и оно сработало, как и ожидалось:

@Column(name = "uid")
@Generated(GenerationTime.ALWAYS)
@Type(type = "pg-uuid")
private UUID uid;

Я понимаю, что @Generated - устаревшая аннотация, но, похоже, она работает.

...