Hibernate поставить ноль вместо использования последовательности из posrgresql - PullRequest
0 голосов
/ 24 января 2019

Мне пришлось добавить столбец position к моей таблице в postgresql. Я хотел, чтобы столбец был автоматически увеличен. Я создаю последовательность и добавляю столбец в таблицу:

CREATE SEQUENCE position_sequence START 1 MINVALUE 1 MAXVALUE 2147483647;
ALTER TABLE stage
ADD COLUMN position integer default nextval('position_sequence');

Чем я добавил в собственное поле класса объекта. POJO выглядит так:

@Entity
@Table(name = "stg")
public class Stg {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
    @SequenceGenerator(name = "sequenceGenerator")
    private Long id;

    @NotNull
    @Size(max = 20)
    @Column(name = "name", length = 20, nullable = false)
    private String name;

    @Column(name = "from_date")
    private ZonedDateTime fromDate;

    @Column(name = "to_date")
    private ZonedDateTime toDate;

    @SequenceGenerator(name = "position_sequence", sequenceName = "position_sequence",allocationSize = 1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="position_sequence") 
    private Integer position;

Он отлично работает с id , но когда я создаю новый объект Stg , он помещает ноль в положение вместо последовательности использования.

Вывод с консоли:

Hibernate: insert into stg (name, position, id) values (?, ?, ?)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...