Текущее значение последовательности "PUBLI C .TEST_ID_SEQ" еще не определено в этом сеансе; SQL оператор: выберите currval ('test_id_seq') - PullRequest
0 голосов
/ 30 марта 2020

У меня проблема с Postgres и Hibernate, он отлично работает в производственном коде, но когда я пытаюсь написать интеграционные тесты, я получаю следующую ошибку при сохранении объекта:

 Current value of sequence "PUBLIC.TEST_ID_SEQ" is not yet defined in this session; SQL statement: select currval('test_id_seq')

схема. sql:

   CREATE TABLE public.test
(
    id        bigserial NOT NULL,
    description      varchar   NULL,
    CONSTRAINT test_pk PRIMARY KEY (id)
);
CREATE SEQUENCE public.test_id_seq MINVALUE 1;

Entity:

@Entity
@Table(name = "test")
public class Test {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", nullable = false)
    private Long id;

    @Column(name = "description")
    private String description;
}

Я сохраняю новую сущность стандартным методом CrudRepository.save (). Что не так? Почему в рабочем коде он работает нормально?

...