2017-01-20 3 views
0

DB에 레코드 하나를 삽입해야하지만 경우에 따라 ID를 전달해야하지만 수동으로 ID를 삽입하면 스프링 부트가 저장되지 않습니다. ID, 스프링 부팅 순서에서 새를 가지고하는 것은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로 저장 내 서열에서

+0

이 경우 자신의 'Id' 생성기를 만들어야 할 수도 있습니다. [this (http://stackoverflow.com/q/3194721/3274974) 그것은 당신의 유스 케이스에 대한 몇 가지 솔루션을 가지고 있습니다. – Edd

+0

참조 용 : http://stackoverflow.com/questions/31158509/how-to-generate-custom-id-using-hibernate-while-it-must-be-primary-key-of-table. 지속성 공급자는 삽입 전에 기본 키를 할당하므로 이전에 설정된 값보다 우선합니다 – Barath

답변

0

생성기를 사용하도록 정의 했으므로 요청한대로 ID가 생성됩니다. 당신이 먼저 설정하는 것은 아무 관련이 없습니다. 설정을 원할 경우 제너레이터를 제거하십시오.

관련 문제