Мне нужно вставить одну запись в мою БД, но в некоторых случаях мне нужно передать идентификатор, но когда я вставляю свой идентификатор вручную, весенняя загрузка не сохраняет с этим ID, весна-ботинки получили новые от последовательностиSpring-Boot с JPA не держите Id
это моя сущность
@Entity
@Table(schema = "db_cartorio_inteligente", name = "tb_movimentacao")
@SequenceGenerator(sequenceName="db_cartorio_inteligente.tb_movimentacao_seq", name = "tb_movimentacao_seq")
public class TbMovimentacao {
@Id
@GeneratedValue(strategy= GenerationType.SEQUENCE, generator = "tb_movimentacao_seq")
private Long idMovimentacao;
и это мой код, чтобы сохранить:
TbMovimentacao novaMovimentacao = new TbMovimentacao();
novaMovimentacao.setIdMovimentacao(12323);
this.movimentacaoRepository.save(novaMovimentacao);
вместо сохранения с идентификатором 12323 он получил следующий из моей последовательности
Возможно, вам понадобится создать свой собственный генератор 'Id' для этого, отметьте [this] (http://stackoverflow.com/q/3194721/3274974) вопрос, у него есть некоторые решения для вашего случая использования. – Edd
Для справки: http://stackoverflow.com/questions/31158509/how-to-generate-custom-id-using-hibernate-while-it-must-be-primary-key-of-table. Поскольку поставщик персистентности назначает первичный ключ перед вставкой, он переопределяет значение, установленное до – Barath