Postgres автоприращение сброшено, теперь при сохранении пытается дублировать первичный ключ - PullRequest
0 голосов
/ 27 мая 2020

У меня генерируется мой идентификатор с последовательностью для трех классов, которые расширяют один с помощью TABLE_PER_CLASS. Это суперкласс:

@Entity
@Table(name = "documentos")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@IdClass(DocumentoID.class)
public abstract class Documento implements Serializable {

    @Id
    @Column(name = "id_documento")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "doc_seq")
    @GenericGenerator(
            name = "doc_seq",
            strategy = "backend.modulos.documentos.DocumentoSequenceGenerator",
            parameters = {
                    @Parameter(name = DocumentoSequenceGenerator.INCREMENT_PARAM, value = "1"),
                    @Parameter(name = DocumentoSequenceGenerator.VALUE_PREFIX_PARAMETER, value = "DOC_"),
                    @Parameter(name = DocumentoSequenceGenerator.NUMBER_FORMAT_PARAMETER, value = "%05d")})
    private String idDocumento;

Мой генератор последовательности генерирует идентификаторы, подобные этому: «DOC_00010». И это работает нормально, на этой неделе произошло то, что приращение моего идентификатора базы данных вернулось к некоторым числам, у нас было множество объектов, сохраненных в базе данных, мы были на идентификаторе «DOC_00649», но внезапно, когда мы попытались сохранить другой документ в база данных возвращала одну ошибку «duplicate pkey», она конфликтовала с идентификатором «DOC_00194», затем пыталась сохранить ее снова, она пыталась сохранить в «DOC_00195», мы уже решили проблему, изменив значение увеличение, но мы не знаем, чем это могло быть вызвано, любая идея?

...